.desktop-sidebar { display:none; }
.offer-setup { position:fixed;inset:0;z-index:1000;overflow-y:auto;background:#09090b;color:#f5f2ea;padding:max(28px,env(safe-area-inset-top)) max(24px,calc((100vw - 520px)/2)) max(32px,env(safe-area-inset-bottom)); }
.offer-setup header,.offer-setup footer { display:flex;align-items:center;justify-content:space-between;gap:18px; }
.offer-setup header { justify-content:flex-start;gap:10px;font-size:14px;color:var(--muted);margin-bottom:36px; }
.offer-setup header > span { min-width:0; }
.offer-setup header > button { margin-left:auto;flex:none; }
.offer-setup-header-logo { display:block;width:clamp(42px,12vw,56px);height:28px;object-fit:contain;flex:none; }
.offer-setup button { font:inherit;cursor:pointer; }
.offer-setup header button,.offer-setup [data-setup-back] { background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:10px 14px; }
.offer-setup .offer-setup-skip { min-height:44px;padding:9px 4px;border:0;background:transparent;color:var(--muted);white-space:nowrap; }
.offer-setup-step { color:var(--pink);font-size:14px; }
.offer-setup-progress { display:flex;gap:8px; }
.offer-setup-progress i { height:3px;flex:1;background:var(--line);border-radius:4px; }
.offer-setup-progress i.active { background:var(--pink); }
.offer-setup h1 { font-size:28px;font-weight:500;margin:28px 0 12px; }
.offer-setup form { margin-top:26px; }
.offer-setup-types { display:grid;gap:10px; }
.offer-setup-choice { padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.006); }
.offer-setup-choice strong { font-size:15px;font-weight:500; }
.offer-setup-choice label { display:flex;align-items:center;gap:12px;min-height:32px;font-size:15px;cursor:pointer; }
.offer-setup-subchoices { display:grid;gap:3px; }
.offer-setup-custom p { margin:4px 0 6px;color:var(--muted);font-size:13px;line-height:1.4; }
.offer-setup-custom-row { display:flex;align-items:center;gap:8px;margin-top:8px; }
.offer-setup-custom-row input { flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.008);color:var(--text);font:inherit;font-size:14px; }
.offer-setup-custom-row button { width:36px;height:36px;flex:none;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:20px; }
.offer-setup-add-custom { margin-top:3px;padding:4px 0;border:0;background:transparent;color:var(--pink);font-size:14px;text-align:left; }
.offer-setup input[type=checkbox] { accent-color:var(--pink);width:20px;height:20px; }
.offer-setup fieldset { min-width:0;margin:0 0 22px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.01); }
.offer-setup legend { color:var(--pink);font-size:16px;padding:0 8px;overflow-wrap:anywhere; }
.offer-setup fieldset label { display:grid;gap:8px;margin:12px 0;font-size:14px;min-width:0; }
.offer-setup fieldset input,.offer-setup select,.offer-setup textarea { width:100%;min-width:0;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px; }
.offer-setup fieldset p { white-space:pre-wrap;overflow-wrap:anywhere; }
.offer-setup form:has([data-field="price"]) { margin-top:18px; }
.offer-setup fieldset:has([data-field="price"]) { margin-bottom:14px;padding:14px 16px; }
.offer-setup fieldset:has([data-field="price"]) label { gap:5px;margin:7px 0; }
.offer-setup fieldset:has([data-field="price"]) input,.offer-setup fieldset:has([data-field="price"]) select { padding:9px 11px; }
.offer-setup footer { margin-top:24px;padding-bottom:16px; }
.offer-setup footer .offer-primary { flex:1;width:auto;min-width:0; }
.offer-setup .offer-primary { border-color:rgba(var(--accent-rgb),.23);background:rgba(var(--accent-rgb),.025); }
.offer-setup button:disabled { opacity:.5;cursor:wait; }
.offer-setup .offer-setup-currencies { display:grid;gap:9px;padding:12px;margin:0;border-radius:14px; }
.offer-setup .offer-setup-currencies label { display:flex;align-items:center;gap:11px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.008);cursor:pointer; }
.offer-setup .offer-setup-currencies [hidden] { display:none; }
.offer-setup .offer-setup-currency-note { margin:4px 2px 0;color:var(--muted);font-size:12px;line-height:1.4; }
.offer-setup .offer-setup-currencies label:has(input:checked) { border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.018); }
.offer-setup .offer-setup-currencies label:has(input:focus-visible) { outline:2px solid var(--focus-line);outline-offset:-2px; }
.offer-setup .offer-setup-currencies input[type=radio] { accent-color:color-mix(in srgb,var(--pink) 72%,#282026);width:17px;height:17px;margin:0;flex:none; }
.offer-setup-currency-symbol { display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(var(--accent-rgb),.26);border-radius:8px;color:var(--pink);font-size:15px; }
.offer-setup-currencies label>span:last-child { display:grid;gap:0;line-height:1.15; }
.offer-setup-currencies strong { color:var(--text);font-size:15px;font-weight:500; }
.offer-setup-currencies small { color:var(--muted);font-size:12px; }
.onboarding-language h1 span { color:var(--muted);font-size:.58em;font-weight:400;white-space:nowrap; }
.onboarding-language .onboarding-language-options { display:grid;gap:9px;padding:14px;border-radius:14px; }
.onboarding-language .onboarding-language-options label { display:flex;align-items:center;gap:12px;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.008);cursor:pointer; }
.onboarding-language .onboarding-language-options label:has(input:checked) { border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.018); }
.onboarding-language .onboarding-language-options label:has(input:focus-visible) { outline:2px solid var(--focus-line);outline-offset:-2px; }
.onboarding-language .onboarding-language-options input { width:18px;height:18px;margin:0;flex:none;accent-color:color-mix(in srgb,var(--pink) 72%,#282026); }
.onboarding-connection form > label { display:grid;gap:8px;color:var(--muted);font-size:14px; }
.onboarding-connection form > label input { width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:16px; }
.onboarding-connection-notice { margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.5; }
.onboarding-connection footer > [data-connection-refresh] { min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--muted); }
.onboarding-welcome { display:flex;align-items:center;justify-content:center;overflow-x:hidden;background:var(--bg);padding:24px max(24px,calc((100vw - 440px)/2)) max(32px,env(safe-area-inset-bottom)); }
.onboarding-welcome-content { display:flex;flex-direction:column;align-items:center;width:100%;min-height:calc(100dvh - 56px);text-align:center; }
.onboarding-welcome-main { position:relative;margin:auto 0; }
.onboarding-welcome-fireworks { position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none; }
.onboarding-welcome h1 { margin:0 0 12px;font-size:clamp(24px,7.5vw,39px);line-height:1.15;font-weight:500;letter-spacing:-.035em; }
.onboarding-welcome-emojis { display:inline-block;margin-inline-start:.08em;font-size:.58em;letter-spacing:0;white-space:nowrap;vertical-align:.08em; }
.onboarding-welcome .offer-description { margin:0;color:var(--muted);font-size:16px;line-height:1.5; }
.onboarding-preview #app { width:100%;min-width:0;flex:0 1 100%;min-height:100dvh;transform:none; }
.onboarding-preview .intro { width:min(100%,390px);height:100dvh;min-height:100dvh;margin-inline:auto; }
.onboarding-preview .auth-modal { left:24px;right:24px;width:auto;top:calc(50% + 28px);max-height:calc(100% - 120px); }
.onboarding-preview .offer-setup { padding-top:max(116px,calc(100px + env(safe-area-inset-top)));padding-bottom:max(32px,env(safe-area-inset-bottom)); }
.onboarding-preview .onboarding-welcome { padding-top:max(116px,calc(100px + env(safe-area-inset-top))); }
.onboarding-preview .onboarding-welcome-content { min-height:calc(100dvh - 148px); }
.onboarding-preview-toolbar { position:fixed;z-index:2000;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 16px));padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(13,13,16,.96);box-shadow:0 16px 40px rgba(0,0,0,.45); }
.onboarding-preview-badge { display:block;color:var(--pink);font-size:9px;letter-spacing:.08em; }
.onboarding-preview-actions { display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px; }
.onboarding-preview-actions button,.onboarding-preview-actions a { padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.02);color:var(--muted);font:inherit;font-size:11px;text-decoration:none;cursor:pointer; }
.onboarding-preview-actions button[aria-pressed="true"] { color:var(--text);border-color:rgba(var(--accent-rgb),.48);background:var(--pink-soft); }
.onboarding-preview-actions button:hover,.onboarding-preview-actions a:hover { color:var(--text); }
.onboarding-preview-finish .offer-primary { margin-top:24px; }
:root {
  color-scheme: dark;
  --preview-width: 390px;
  --preview-height: 844px;
  --bg: #09090b;
  --surface: #0d0f13;
  --surface-2: #12151b;
  --surface-3: #1b1e26;
  --tile-surface: linear-gradient(110deg, rgba(153,168,189,.032), rgba(255,255,255,.006)), var(--bg);
  --text: #f5f2ea;
  --muted: #989ba4;
  --line: rgba(255, 255, 255, 0.1);
  --pink: #f06888;
  --pink-soft: rgba(var(--accent-rgb), 0.14);
  --accent-rgb: 240,104,136;
  --accent-hue-shift: 0deg;
  --violet: #9e77ed;
  --green: #b7cb35;
  --amber: #c36f38;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.36);
  --hub-center-shift: 0px;
}

html[data-accent="blue"] { --pink:#75a5f5;--pink-soft:rgba(117,165,245,.14);--accent-rgb:117,165,245;--accent-hue-shift:-126deg; }
html[data-accent="orange"] { --pink:#f0a16b;--pink-soft:rgba(240,161,107,.14);--accent-rgb:240,161,107;--accent-hue-shift:35deg; }
html[data-accent="mint"] { --pink:#70cdb7;--pink-soft:rgba(112,205,183,.14);--accent-rgb:112,205,183;--accent-hue-shift:180deg; }
html[data-accent="violet"] { --pink:#ad91ed;--pink-soft:rgba(173,145,237,.14);--accent-rgb:173,145,237;--accent-hue-shift:-86deg; }
html[data-accent="gold"] { --pink:#dfbf78;--pink-soft:rgba(223,191,120,.14);--accent-rgb:223,191,120;--accent-hue-shift:59deg; }

* { box-sizing: border-box; scrollbar-width:none; }
*::-webkit-scrollbar { display:none; width:0; height:0; }

html, body { margin: 0; min-height: 100%; background: #09090b; overflow:hidden; }

body {
  font-family: "General Sans", system-ui, sans-serif;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  display:flex;
  justify-content:center;
  align-items:flex-start;
}

:where(.intro,.hub-shell,.offer-setup,.desktop-sidebar) { isolation:isolate; }
.ambient-particles { position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none; }
.ambient-particle { position:absolute;left:var(--particle-x);top:var(--particle-y);width:var(--particle-size);height:var(--particle-size);border-radius:50%;background:rgb(var(--accent-rgb));box-shadow:0 0 6px rgba(var(--accent-rgb),.42);opacity:0;animation:ambientParticleFloat var(--particle-drift) ease-in-out var(--particle-drift-delay) infinite alternate,ambientParticlePulse var(--particle-pulse) ease-in-out var(--particle-pulse-delay) infinite; }
.desktop-sidebar .ambient-particle:nth-child(n+6) { display:none; }
@keyframes ambientParticleFloat { to { transform:translate3d(var(--particle-dx),var(--particle-dy),0); } }
@keyframes ambientParticlePulse { 0%,100% { opacity:.045; } 50% { opacity:var(--particle-peak); } }
@media (prefers-reduced-motion:reduce) { .ambient-particle { animation:none;opacity:.15; } }

button, input { font: inherit; }
button { color: inherit; }
/* Service catalogue uses the same understated surfaces as the session calendar. */
.session-calendar-content[hidden],.offer-dialog [hidden] { display:none!important; }
.offers-intro h2,.offer-requests-title { font-size:20px;font-weight:500;margin:16px 0 8px; }
.offers-intro h2 { margin-bottom:0; }
.offers-disclaimer { font-size:13px;color:var(--muted);line-height:1.6; }
.service-offers > .offers-disclaimer,
.sessions-section > .session-demo,
.documents-section > .documents-demo-note,
.artists-page > .artists-footnote,
.studio-profile > .session-demo { display:none; }
.offer-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;gap:10px;margin:14px 0; }
.offer-card,.offer-request,.offer-empty { min-width:0;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--tile-surface); }
.offer-card { display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:18px; }
.offer-grid .offer-card h3 { font-size:18px;line-height:1.3; }
.offer-card .offer-price { margin:0;font-size:21px;line-height:1.3; }
.offer-card .offer-description { margin:0;line-height:1.45; }
.offer-card .offer-description:empty { display:none; }
.offer-card .offer-allowance { line-height:1.4; }
.offer-grid .offer-card details { margin:0;line-height:1.45; }
.offer-card details p { margin:6px 0 0; }
.offer-card .offer-primary { margin-top:4px;padding:7px 12px;border-radius:10px; }
.offer-card.is-paused { border-style:dashed; }
.offer-card-heading,.offer-request-heading { display:flex;justify-content:space-between;gap:12px;align-items:center; }
.offer-kind,.offer-request-heading>span { font-size:12px;color:var(--pink); }
.offer-card h3,.offer-empty h3 { margin:0;font-size:20px;font-weight:500;overflow-wrap:anywhere; }
.offer-price { margin:2px 0;font-size:24px;letter-spacing:-.5px; }
.offer-allowance { font-size:14px;color:var(--pink);margin:0; }
.offer-description,.offer-request p,.offer-empty p { font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere; }
.offer-description { color:var(--muted);margin:0 0 6px; }
.offer-card details,.offer-request details { font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:10px; }
.offer-card details p,.offer-request details p { white-space:pre-wrap;overflow-wrap:anywhere; }
.offer-edit { width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer; }
.offer-edit svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4; }
.offer-card-actions { display:flex;gap:6px;flex:none; }
.offer-delete-icon { width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer; }
.offer-delete-icon:hover { color:var(--pink);border-color:color-mix(in srgb,var(--pink) 35%,transparent); }
.offer-delete-icon svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round; }
.offer-delete { display:block;margin:14px 0 0 auto;padding:8px 0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer; }
.offer-delete:hover { color:var(--pink); }
.offer-delete-dialog p { color:var(--muted);line-height:1.5; }
.offer-delete-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:22px; }
.offer-delete-actions button { min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:10px;background:var(--tile-surface);color:inherit;font:inherit;cursor:pointer; }
.offer-delete-actions [data-confirm] { border-color:color-mix(in srgb,var(--pink) 45%,transparent);color:var(--pink); }
.offer-delete-actions button:disabled { opacity:.5;cursor:wait; }
.offer-primary,.offer-request-actions button { min-height:44px;border:1px solid color-mix(in srgb,var(--pink) 35%,transparent);border-radius:12px;background:var(--pink-soft);color:var(--pink);font:inherit;font-size:14px;padding:10px 15px;cursor:pointer; }
.offer-primary { margin-top:auto;width:100%; }
.offer-custom { min-height:44px;border:0;background:transparent;color:var(--pink);font:inherit;font-size:14px;cursor:pointer;text-align:left; }
.offer-requests { display:grid;gap:12px; }
.service-offers .studio-request-list { grid-template-columns:minmax(0,1fr);gap:8px; }
.offer-request { padding:0;overflow:hidden; }
.offer-request-summary { position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 34px 10px 14px;list-style:none;cursor:pointer; }
.offer-request-summary::-webkit-details-marker { display:none; }
.offer-request-summary::marker { content:''; }
.offer-request-summary:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.offer-request-summary-main { display:contents;font-size:14px;line-height:1.25; }
.offer-request-summary-main strong { grid-column:1;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.offer-request-status { grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--pink);font-size:11px; }
.offer-request-summary-meta { grid-column:1;grid-row:2;min-width:0;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap; }
.offer-request-chevron { display:flex;width:16px;height:16px;align-items:center;justify-content:center;position:absolute;right:14px;top:50%;color:var(--muted);font-size:18px;line-height:1;transform:translateY(-50%);transition:transform .18s ease; }
.offer-request[open] .offer-request-chevron { transform:translateY(-50%) rotate(180deg); }
.offer-request-body { padding:12px 14px 14px;border-top:1px solid var(--line); }
.offer-request-body > p:first-child { margin-top:0; }
.offer-request-body > :last-child { margin-bottom:0; }
.offer-request-body>.offer-custom { margin-top:4px; }
.offer-request-actions { display:flex;gap:10px;margin-top:14px; }
.offer-request-actions button { flex:1; }
.offer-error { color:var(--pink);font-size:14px; }
.offer-studio-picker { display:grid;gap:8px;font-size:13px;color:var(--muted);margin-bottom:16px; }
.offer-studio-picker select { width:100%;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px;font-size:16px; }
.offer-dialog { width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);box-sizing:border-box;overflow:auto; }
.offer-dialog input,.offer-dialog select,.offer-dialog textarea { font-size:16px;box-sizing:border-box;min-width:0; }
.offer-picker-list { display:grid;gap:12px;margin-top:20px; }
.offer-picker-item { display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:18px;cursor:pointer;font:inherit; }
.offer-picker-item>span { display:grid;gap:7px;min-width:0;overflow-wrap:anywhere; }
.offer-picker-item strong { font-size:16px;font-weight:500; }
.offer-picker-price { font-size:14px; }
.offer-picker-item svg { width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;color:var(--muted); }
.offer-picker-item:hover,.offer-picker-item:focus-visible { border-color:var(--focus-line);background:rgba(232,91,131,.07); }
.offer-booking-total { padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--pink);font-size:14px;line-height:1.6; }
@media(min-width:1024px){.offer-requests{grid-template-columns:repeat(2,minmax(0,1fr))}}

#app {
  width: var(--preview-width);
  min-width: var(--preview-width);
  min-height: var(--preview-height);
  flex:0 0 var(--preview-width);
  transform:scale(var(--preview-scale, 1));
  transform-origin:top center;
  background: var(--bg);
  transition: color .35s ease;
}

.intro {
  width: 100%;
  height: var(--preview-height);
  min-height: var(--preview-height);
  display: grid;
  place-items: center;
  padding: 28px;
  overflow: hidden;
  background: #09090b;
  position: relative;
}

.intro::before {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(155, 19, 60, 0.13);
  filter: blur(85px);
  animation: breathe 4s ease-in-out infinite;
}

.intro-logo {
  position: relative;
  top: var(--hub-center-shift);
  width: 156px;
  padding: 12px;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0;
  transform: scale(.97);
  animation: logoIn 1.1s .15s cubic-bezier(.2,.75,.2,1) forwards;
  transition: width .65s cubic-bezier(.2,.8,.2,1), transform .65s cubic-bezier(.2,.8,.2,1);
}

.intro-logo img { display: block; width: 100%; height: auto; }

.logo-transition-bridge { position:fixed;z-index:1000;display:block;object-fit:contain;pointer-events:none;transform-origin:center;will-change:transform;backface-visibility:hidden; }
.intro-logo:focus-visible { outline: 1px solid var(--focus-line); outline-offset:-2px; border-radius: 10px; }

.intro-hint {
  position: absolute;
  bottom: calc(38px + env(safe-area-inset-bottom));
  color: rgba(255,255,255,.48);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: 0;
  animation: fadeIn .8s 1.25s forwards;
}

.intro.is-leaving .intro-logo { animation:logoToHub .78s cubic-bezier(.2,.72,.2,1) forwards; opacity:1; }
.intro.is-leaving .intro-hint { opacity:0; transition:opacity .2s ease; }
.intro.is-leaving::before { transform:scale(.55);opacity:.4;transition:transform .65s ease,opacity .65s ease; }
/* Compact account window above the unchanged intro logo */
.intro.has-auth-modal .intro-hint { opacity:0; }
.auth-scrim { position:absolute;z-index:5;inset:0;background:rgba(3,3,4,.62);backdrop-filter:blur(4px);animation:authScrimIn .32s ease both; }
.auth-scrim.is-leaving { animation:authScrimOut .4s ease both; }
.auth-modal { position:absolute;z-index:6;left:24px;right:24px;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(7,7,9,.72);padding:22px 20px 16px;box-shadow:0 28px 85px rgba(0,0,0,.62);animation:authModalIn .48s cubic-bezier(.22,1,.36,1) both; }
.auth-modal.is-leaving { animation:authModalOut .42s cubic-bezier(.4,0,.2,1) both; }
.auth-close { position:absolute;right:13px;top:13px;width:31px;height:31px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1;display:grid;place-items:center;cursor:pointer; }
.auth-panel { position:relative;z-index:1; }
.auth-kicker { display:flex;align-items:center;gap:7px;margin:2px 0 20px;color:var(--pink);font-size:8px;letter-spacing:.16em;text-transform:uppercase; }
.auth-kicker img { display:block;width:28px;height:14px;object-fit:contain;flex:none; }
.auth-form { display:grid;gap:11px; }
.auth-form label span { display:block;margin:0 0 7px;color:var(--muted);font-size:8px;letter-spacing:.1em;text-transform:uppercase; }
.auth-form input { width:100%;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:0 13px;outline:none;font-size:16px;transition:border-color .2s ease,background .2s ease; }
.auth-form input::placeholder { color:var(--muted); opacity:1; }
.auth-form input:focus { border-color:var(--focus-line);background:var(--surface); }
.auth-error { min-height:13px;margin:-2px 2px -1px;color:#ff91a9;font-size:8px;line-height:1.35; }
.auth-verification-note,.auth-verification-status { margin:0;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere; }
.auth-verification-note strong { font-weight:500;color:var(--text); }
.auth-submit { width:100%;height:39px;border:1px solid rgba(var(--accent-rgb),.23);border-radius:12px;background:rgba(var(--accent-rgb),.025);color:var(--pink);display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 16px;cursor:pointer;font-size:10px;font-weight:600; }
.auth-submit b { font-size:17px;font-weight:400; }
.auth-submit:disabled { opacity:.58;cursor:wait; }
.auth-switch { width:100%;margin-top:11px;border:0;background:transparent;color:var(--muted);font-size:8px;cursor:pointer;padding:7px; }
.auth-legal-link { display:block;width:max-content;max-width:100%;margin:4px auto 0;padding:5px;color:var(--muted);font-size:11px;text-align:center;text-decoration:none; }
.auth-legal-link:hover,.auth-legal-link:focus-visible { color:var(--pink);text-decoration:underline;text-underline-offset:3px; }
.auth-legal-dialog { width:min(650px,calc(100% - 18px));max-width:none;height:calc(100dvh - 24px);max-height:none;box-sizing:border-box;margin:auto;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#09090b;color:var(--text);overflow:hidden; }
.auth-legal-dialog::backdrop { background:rgba(0,0,0,.78);backdrop-filter:blur(6px); }
.auth-legal-dialog iframe { display:block;width:100%;height:100%;border:0;background:#09090b; }
.auth-legal-close { position:absolute;z-index:1;top:13px;right:13px;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#101014;color:var(--text);font:inherit;font-size:22px;line-height:1;cursor:pointer; }
.auth-legal-close:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.auth-forgot { justify-self:end;display:inline-flex;align-items:center;min-height:32px;color:var(--muted);font-size:12px;text-decoration:none; }
.auth-forgot:hover { color:var(--pink); }
.auth-forgot:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px;border-radius:4px; }
.auth-demo { display:block;margin:2px auto 0;padding:8px 14px;border:0;background:transparent;color:#85818a;font:inherit;font-size:10px;line-height:1.4;cursor:pointer;transition:color .2s; }
.auth-demo:hover,.auth-demo:focus-visible { color:#c5bec8; }
.auth-demo:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px;border-radius:5px; }

.shell {
  min-height: var(--preview-height);
  max-width: 460px;
  margin: 0 auto;
  position: relative;
  padding: calc(18px + env(safe-area-inset-top)) 18px calc(158px + env(safe-area-inset-bottom));
  background: var(--bg);
  box-shadow: var(--shadow);
  animation: fadeIn .55s ease both;
}

.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.identity { display: flex; align-items: center; gap: 11px; }
.avatar {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 50%; background: var(--pink-soft); border: 1px solid rgba(var(--accent-rgb),.28);
  color: var(--pink); font-weight: 700; font-size: 14px;
}
.eyebrow { margin: 0 0 2px; color: var(--muted); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.artist-name { margin: 0; font-size: 17px; letter-spacing: -.02em; }

.brand-strip {
  height: 62px; display: flex; align-items: center; margin: -5px 0 18px;
  border-bottom: 1px solid var(--line);
}
.brand-strip img { width: 106px; height: auto; display: block; }

.section-head { display: flex; align-items: end; justify-content: space-between; margin: 28px 0 12px; }
.section-head h2 { margin: 0; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.text-button { border: 0; background: transparent; color: var(--pink); font-size: 12px; cursor: pointer; padding: 0; }

.project-card {
  position: relative; min-height: 248px; border-radius: 22px; overflow: hidden;
  border: 1px solid var(--line); background: #14151a; cursor: pointer;
}
.project-card::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4,4,6,.05) 10%, rgba(4,4,6,.85) 90%),
    radial-gradient(circle at 70% 30%, rgba(202,88,40,.5), transparent 32%),
    linear-gradient(120deg, #171b25, #502311 55%, #07080b);
}
.project-card::after {
  content: ""; position: absolute; inset: 0; opacity: .17; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}
.project-visual { position: absolute; right: 19px; top: 20px; width: 115px; height: 115px; border-radius: 14px; background: linear-gradient(145deg,#0a1521,#213c55 48%,#d0653e); opacity: .82; }
.project-visual::before { content:""; position:absolute; left:14px; right:14px; bottom:26px; height:2px; background:#f29b69; box-shadow:0 -9px 0 rgba(104,151,181,.3),0 9px 0 rgba(0,0,0,.55); transform:skewY(-4deg); }
.project-copy { position: absolute; z-index: 2; left: 20px; right: 20px; bottom: 19px; }
.project-status { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:20px; background:rgba(7,8,10,.66); color:#f0bdcd; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.project-status i { width:6px;height:6px;border-radius:50%;background:var(--pink); }
.project-title { font-family:"General Sans",system-ui,sans-serif; font-size:38px; font-weight:400; line-height:.95; margin:13px 0 10px; color:#fff8ef; }
.project-meta { margin:0 0 15px; color:rgba(255,255,255,.62); font-size:12px; }
.progress { height:3px; background:rgba(255,255,255,.16); border-radius:4px; overflow:hidden; }
.progress span { display:block; height:100%; width:72%; background:var(--pink); }

.quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.quick-action { border:1px solid var(--line); background:var(--tile-surface); border-radius:16px; min-height:92px; padding:14px 10px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; cursor:pointer; }
.quick-action:active { background:var(--surface-2); }
.quick-icon { color:var(--pink); font-size:21px; }
.quick-action strong { font-size:12px; font-weight:600; }
.quick-action small { display:block; font-size:10px; color:var(--muted); margin-top:3px; }
.quick-action > span:last-child { display:block; width:100%; }

.file-list { border-top:1px solid var(--line); }
.file-row { width:100%; display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; padding:13px 0; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.file-type { width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--pink-soft);color:var(--pink);font-weight:700;font-size:10px; }
.file-type.video { background:rgba(158,119,237,.14);color:var(--violet); }
.file-name { display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.file-meta { display:block;color:var(--muted);font-size:10px;margin-top:3px; }
.file-time { color:var(--muted);font-size:10px; }

.info-row { display:flex; align-items:center; gap:12px; margin-top:10px; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--tile-surface); cursor:pointer; }
.info-badge { width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(183,203,53,.12);color:var(--green); }
.info-main { flex:1; min-width:0; }
.info-main strong { display:block;font-size:12px; }
.info-main small { display:block;color:var(--muted);font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.info-value { color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.06em; }

.page-title { font-family:"General Sans",system-ui,sans-serif; font-size:42px; font-weight:400; margin:14px 0 6px; }
.page-subtitle { color:var(--muted); margin:0 0 24px; font-size:13px; }
.simple-card { padding:17px; border:1px solid var(--line); border-radius:18px; background:var(--tile-surface); margin-bottom:10px; cursor:pointer; }
.simple-card h3 { margin:0 0 5px;font-size:14px; }
.simple-card p { margin:0;color:var(--muted);font-size:11px;line-height:1.5; }
.simple-card .tag { display:inline-block;margin-top:12px;color:var(--pink);font-size:10px;text-transform:uppercase;letter-spacing:.08em; }

.mini-player { position:fixed; z-index:10; left:50%; transform:translateX(-50%); bottom:calc(72px + env(safe-area-inset-bottom)); width:min(424px,calc(100% - 20px)); height:64px; padding:9px 12px; display:grid;grid-template-columns:40px 1fr 44px;gap:10px;align-items:center; border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(18px);box-shadow:none; }
.cover { width:40px;height:40px;border-radius:9px;background:linear-gradient(145deg,#102338,#bc5d38); }
.track strong { display:block;font-size:12px; }.track small {display:block;color:var(--muted);font-size:9px;margin-top:3px;}
.play { width:40px;height:40px;border:0;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:15px; }
.player-progress { position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--line);overflow:hidden;border-radius:4px; }
.player-progress span { display:block;width:36%;height:100%;background:var(--pink);transition:width .3s linear; }

.bottom-nav { position:fixed;z-index:9;left:50%;transform:translateX(-50%);bottom:0;width:min(460px,100%);height:calc(78px + env(safe-area-inset-bottom));padding:9px 10px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line); }
.nav-item { border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;cursor:pointer; }
.nav-item .nav-icon { font-size:18px;line-height:1; }.nav-item.active { color:var(--pink); }

.toast { position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:170px;max-width:calc(100vw - 32px);background:#242426;color:#e5e3e7;padding:7px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:11px;line-height:1.4;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:toastIn .25s ease both; }

/* Final hub direction: intro flows into a central orbit */
.hub-shell { width:100%;height:var(--preview-height);min-height:var(--preview-height);max-width:var(--preview-width);margin:0 auto;background:var(--bg);position:relative;overflow:hidden;padding:calc(16px + env(safe-area-inset-top)) 18px calc(96px + env(safe-area-inset-bottom));box-shadow:var(--shadow);animation:fadeIn .35s ease both; }
.sakura-parking { position:fixed;inset:0;z-index:-1;opacity:0;pointer-events:none;overflow:hidden; }
.sakura-parking .orbit-sakura-sway { animation-play-state:paused; }
.orbit-sakura { position:absolute;z-index:0;display:block;width:205px;pointer-events:none;user-select:none;opacity:.67;transition:opacity .55s ease; }
.orbit-sakura-sway { position:relative;display:block;width:100%;will-change:transform; }
.orbit-sakura-upper .orbit-sakura-sway { transform-origin:0% 74%;animation:sakuraWindUpper 9.4s calc(2.85s - var(--sakura-intro-elapsed,0ms)) ease-in-out infinite both; }
.orbit-sakura-lower .orbit-sakura-sway { transform-origin:100% 11%;animation:sakuraWindLower 10.8s calc(2.85s - var(--sakura-intro-elapsed,0ms)) ease-in-out infinite both; }
.orbit-exiting .orbit-sakura-sway,.chat-expanded .orbit-sakura-sway { animation-play-state:paused; }
.orbit-sakura-art { display:block;width:100%;height:auto;overflow:visible; }
.orbit-sakura-art,.hub-icon-render,.desktop-nav-render,.service-offers .offer-card::before { filter:hue-rotate(var(--accent-hue-shift)); }
.sakura-growth-trace { fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:sakuraBranchTrace var(--sakura-draw-duration) calc(var(--sakura-draw-delay) - var(--sakura-intro-elapsed,0ms)) cubic-bezier(.25,.65,.2,1) both; }
.sakura-growth-flower-cover { fill:#000; }
.sakura-growth-bloom { fill:#fff;opacity:0;animation:sakuraFlowerReveal .18s calc(var(--sakura-bloom-delay) - var(--sakura-intro-elapsed,0ms)) ease-out both; }
.sakura-growth-finish { fill:#fff;opacity:0;animation:sakuraGrowthFinish .01s calc(2.55s - var(--sakura-intro-elapsed,0ms)) steps(1,end) both; }
.sakura-settled .sakura-growth-trace { animation:none;stroke-dashoffset:0; }
.sakura-settled .sakura-growth-bloom { animation:none;opacity:1; }
.sakura-settled .sakura-growth-finish { animation:none;opacity:1; }
.orbit-sakura-upper { top:12%;left:-48px; }
.orbit-sakura-lower { right:-45px;bottom:13%; }
.hub-shell.orbit-exiting .orbit-sakura-upper { animation:sakuraRetreatLeft .9s cubic-bezier(.55,0,.85,.45) both; }
.hub-shell.orbit-exiting .orbit-sakura-lower { animation:sakuraRetreatRight .9s cubic-bezier(.55,0,.85,.45) both; }
.orbit-exiting .hub-map { opacity:0;transition:opacity .2s .7s; }
.orbit-exiting .hub-node { pointer-events:none; }
.chat-expanded .orbit-sakura { opacity:0; }
@media (prefers-reduced-motion:reduce) { .orbit-sakura { animation:none!important;clip-path:none;transform:none; } .orbit-sakura-sway { animation:none!important;transform:none;will-change:auto; } .sakura-growth-trace { animation:none;stroke-dashoffset:0; } .sakura-growth-bloom { animation:none;opacity:1; } .sakura-growth-finish { animation:none;opacity:1; } }
.hub-tools { position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between; }
.hub-account-context { display:flex;align-items:center;gap:8px;flex:1;min-width:0; }
.hub-account-context>.hub-profile { flex:none; }
.hub-account-context>.hub-theme-toggle { flex:none;margin-left:-5px; }
.hub-connection { display:flex;align-items:center;justify-content:center;gap:6px;flex:0 1 auto;max-width:200px;min-width:0;padding:5px 9px;border:1px solid rgba(var(--accent-rgb),.12);border-radius:9px;background:rgba(24,21,27,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text);text-align:center;cursor:pointer; }
.hub-connection:hover,.hub-connection:focus-visible { border-color:var(--focus-line);background:rgba(38,27,34,.5); }
.hub-connection-link { width:13px;height:13px;flex:none;fill:none;stroke:var(--pink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.hub-connection:not(.is-connected) .hub-connection-link { stroke:var(--muted); }
.hub-connection>strong { display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;line-height:16px; }
.hub-connection:not(.is-connected)>strong { color:var(--muted); }
.hub-round { width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer; }
.hub-tools>.hub-round:not(.hub-profile),.project-toolbar-actions>.hub-round,.sessions-heading>.hub-round,.release-header-actions>.hub-round { width:36px;height:34px;border-color:rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.018);color:var(--muted);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
.hub-tools>.hub-round:not(.hub-profile):active,.project-toolbar-actions>.hub-round:active,.sessions-heading>.hub-round:active,.release-header-actions>.hub-round:not(:disabled):active { transform:scale(.94); }
.hub-tools>.hub-round:not(.hub-profile):hover,.hub-tools>.hub-round:not(.hub-profile):focus-visible,.project-toolbar-actions>.hub-round:hover,.project-toolbar-actions>.hub-round:focus-visible,.sessions-heading>.hub-round:hover,.sessions-heading>.hub-round:focus-visible,.release-header-actions>.hub-round:not(:disabled):hover,.release-header-actions>.hub-round:focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.045);color:var(--text); }
.hub-profile { width:28px;height:28px;font-size:10px;letter-spacing:.01em;color:var(--pink);background:transparent;border-color:var(--line); }
.hub-profile.has-photo { overflow:hidden;padding:0;border-radius:9px; }
.hub-profile img { display:block;width:100%;height:100%;object-fit:cover; }
.hub-profile img.is-logo { object-fit:contain;padding:2px; }
.hub-tool-actions { display:flex;align-items:center;gap:8px;flex:none; }
.hub-theme-toggle { width:29px;height:29px;padding:0;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease; }
.hub-theme-toggle::after { content:"";width:10px;height:10px;border-radius:50%;background:var(--pink);box-shadow:0 0 7px rgba(var(--accent-rgb),.3);transition:background .2s ease,box-shadow .2s ease; }
.hub-theme-toggle:hover::after { box-shadow:0 0 10px rgba(var(--accent-rgb),.5); }
.hub-theme-toggle:active { transform:scale(.92); }
.hub-theme-toggle:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.hub-notifications { position:relative;width:34px;height:34px;padding:0;border:0;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:color .2s ease,transform .2s ease; }
.hub-notifications:active { transform:scale(.93); }
.hub-notifications:hover,.hub-notifications:focus-visible,.hub-notifications.has-unread { color:var(--text); }
.hub-notifications svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round; }
.hub-notifications b { position:absolute;top:0;right:0;min-width:14px;height:14px;padding:0 3px;border:2px solid var(--bg);border-radius:8px;background:#f0445f;color:#fff;display:grid;place-items:center;font-size:7px;line-height:1;font-weight:700;box-shadow:0 3px 10px rgba(240,68,95,.35); }
@media (max-width:420px) { .hub-tool-actions { gap:3px; }.hub-notifications { width:31px; }.hub-tool-actions .hub-language { min-width:43px;padding-inline:4px; } }
@keyframes directChatScrimIn { from { opacity:0; } to { opacity:1; } }
@keyframes directChatScrimOut { from { opacity:1; } to { opacity:0; } }
.direct-chat-scrim { position:absolute;z-index:47;inset:0;background:rgba(3,3,4,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:directChatScrimIn .25s ease both; }
.direct-chat-scrim.is-closing { animation:directChatScrimOut .34s ease both; }
.direct-chat-panel { position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(9,9,12,.94);box-shadow:0 12px 36px rgba(0,0,0,.22);transition:opacity .2s ease; }
.direct-chat-head { display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.08); }
.direct-chat-head>strong { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500; }
.direct-chat-head button { flex:none;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.02);color:var(--muted);font:inherit;font-size:19px;cursor:pointer; }
.direct-chat-head .direct-chat-close { margin-left:auto;display:flex;align-items:center;justify-content:center;padding:0; }
.direct-chat-close svg { display:block;flex:none; }
.direct-chat-list { flex:1;min-height:0;overflow-y:auto;padding:8px; }
.direct-chat-person { display:flex;align-items:center;gap:11px;width:100%;min-height:65px;margin-bottom:6px;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.02);color:var(--text);text-align:left;font:inherit;cursor:pointer; }
.direct-chat-person:hover,.direct-chat-person:focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.05); }
.direct-chat-avatar { display:grid;place-items:center;flex:none;width:36px;height:36px;overflow:hidden;border:1px solid rgba(var(--accent-rgb),.22);border-radius:11px;background:rgba(var(--accent-rgb),.06);color:var(--pink);font-size:13px; }
.direct-chat-head .direct-chat-avatar.has-image { border:0;background:transparent; }
.direct-chat-avatar img { display:block;width:100%;height:100%;object-fit:cover; }
.direct-chat-avatar img.is-logo { object-fit:contain;padding:3px; }
.direct-chat-person-text { flex:1;min-width:0; }
.direct-chat-person-text strong,.direct-chat-person-text small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.direct-chat-person-text strong { font-size:13px;font-weight:500; }
.direct-chat-person-text small { margin-top:3px;color:var(--muted);font-size:11px; }
.direct-chat-person>b { display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:var(--pink);color:#130a0e;font-size:10px; }
.direct-chat-thread { flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px 14px;overscroll-behavior:contain; }
.direct-chat-bubble { flex:none;align-self:flex-start;width:fit-content;max-width:82%;margin-right:auto;padding:9px 12px 6px;border:1px solid rgba(255,255,255,.07);border-radius:13px 13px 13px 4px;background:#1b1b22;color:var(--text); }
.direct-chat-bubble.is-own { align-self:flex-end;margin-right:0;margin-left:auto;border-color:rgba(var(--accent-rgb),.18);border-radius:13px 13px 4px 13px;background:rgba(var(--accent-rgb),.14); }
.direct-chat-bubble p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.42; }
.direct-chat-bubble time { display:block;margin-top:4px;color:var(--muted);font-size:9px;text-align:right; }
.direct-chat-empty { margin:auto;color:var(--muted);font-size:12px;line-height:1.5;text-align:center;padding:20px; }
.direct-chat-error { margin:10px 13px;color:#ed8ca9;font-size:11px;line-height:1.4; }
.notification-scrim { position:absolute;z-index:38;inset:0;background:rgba(0,0,0,.24);animation:fadeIn .2s ease both; }
.notification-center { position:absolute;z-index:39;top:calc(54px + env(safe-area-inset-top));right:18px;left:18px;width:auto;max-height:calc(100% - 76px - env(safe-area-inset-top));overflow:auto;padding:12px 13px 13px;border:1px solid rgba(255,255,255,.085);border-radius:15px;background:rgba(9,9,11,.88);box-shadow:0 18px 45px rgba(0,0,0,.32);animation:notificationPanelIn .25s cubic-bezier(.16,1,.3,1) both;scrollbar-width:none; }
.notification-center::-webkit-scrollbar { display:none; }
.notification-head { min-height:29px;display:grid;grid-template-columns:29px 1fr 29px;align-items:center;margin-bottom:8px; }
.notification-head>span { grid-column:1/3;color:#d8d3dc;font-size:14px;font-weight:600;letter-spacing:.01em; }
.notification-head>button:first-child+span { grid-column:auto;text-align:center; }
.notification-head button { width:29px;height:29px;padding:0;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.015);color:var(--muted);display:grid;place-items:center;font-size:16px;cursor:pointer; }
.notification-head button:last-child { grid-column:3;justify-self:end; }
.notification-list { display:grid;gap:7px; }
.notification-item { position:relative;width:100%;min-height:60px;padding:9px 11px 9px 9px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.025);color:var(--text);display:grid;grid-template-columns:35px minmax(0,1fr) 6px;align-items:center;gap:9px;text-align:left;cursor:pointer; }
.notification-item.is-read { opacity:.58;background:rgba(255,255,255,.018); }
.notification-item-icon { width:34px;height:34px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:50%;background:rgba(var(--accent-rgb),.08);color:var(--pink);display:grid;place-items:center;font-size:13px; }
.notification-item strong,.notification-item small { display:block; }
.notification-item strong { font-size:12px;font-weight:600;line-height:1.35; }
.notification-item small { margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.notification-item>i { width:6px;height:6px;border-radius:50%;background:#f0445f;box-shadow:0 0 10px rgba(240,68,95,.55); }
.notification-empty { margin:17px 2px 15px;color:var(--muted);font-size:12px;line-height:1.4;text-align:center; }
.notification-push { width:100%;min-height:32px;padding:6px 9px;margin-top:7px;border:1px solid rgba(var(--accent-rgb),.14);border-radius:10px;background:rgba(var(--accent-rgb),.025);color:#c9a0ae;font-size:11px;line-height:1.35;cursor:pointer; }
.notification-push-enabled { margin:13px 0 1px;color:#7f9989;font-size:8px;text-align:center; }
.notification-push-hint { margin:8px 2px 1px;color:var(--muted);font-size:10px;line-height:1.45;text-align:center; }
.notification-center.is-detail { left:18px;right:18px;width:auto;padding:14px; }
.notification-detail-icon { width:42px;height:42px;margin:20px auto 12px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:50%;background:rgba(var(--accent-rgb),.09);color:var(--pink);display:grid;place-items:center;font-size:17px; }
.notification-detail-status { margin:0;color:var(--pink);font-size:8px;letter-spacing:.12em;text-align:center;text-transform:uppercase; }
.notification-detail-status[data-status="confirmed"] { color:#8ac8a3; }
.notification-detail-status[data-status="declined"] { color:#988791; }
.notification-center.is-detail h2 { margin:8px 0 3px;font:500 22px/1.2 "General Sans",sans-serif;text-align:center; }
.notification-detail-project { margin:0;color:var(--muted);font-size:10px;text-align:center; }
.notification-time-card { margin:21px 0 12px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:linear-gradient(110deg,rgba(var(--accent-rgb),.075),rgba(255,255,255,.018)); }
.notification-time-card small,.notification-time-card strong,.notification-time-card span { display:block; }
.notification-time-card small { color:var(--pink);font-size:7px;letter-spacing:.11em;text-transform:uppercase; }
.notification-time-card strong { margin-top:8px;font-size:13px;font-weight:600;text-transform:capitalize; }
.notification-time-card span { margin-top:5px;color:var(--muted);font-size:10px; }
.notification-detail-notes { margin:12px 2px;color:#b5afb8;font-size:10px;line-height:1.5; }
.notification-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px; }
.notification-actions button { min-width:0;height:44px;padding:0 4px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer; }
.notification-actions button[data-notification-session-action="confirmed"] { border-color:rgba(var(--accent-rgb),.38);background:var(--pink);color:#fff; }
.notification-decision { margin:16px 0 0;color:var(--muted);font-size:10px;text-align:center; }
.hub-map { position:absolute;inset:0;transform:translateY(var(--hub-center-shift));transition:transform .72s cubic-bezier(.22,1,.36,1); }
.hub-shell.chat-preview-open:not(.chat-expanded) .hub-map { transform:translateY(-40px); }
.hub-orbit-system { position:absolute;inset:0;transform-origin:50% 50%;will-change:transform; }
.hub-orbit-assembly { position:absolute;inset:0;transform-origin:50% 50%;will-change:transform;animation:orbitAssemble 1.22s calc(0ms - var(--sakura-intro-elapsed,0ms)) cubic-bezier(.2,.72,.2,1) both; }
.hub-ring-svg { position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0;animation:ringSvgIn .8s calc(.35s - var(--sakura-intro-elapsed,0ms)) ease forwards; }
.hub-ring-path { fill:none;stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke; }
.hub-brand { position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:98px;height:98px;border:0;padding:0;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(var(--accent-rgb),.07),transparent 68%);text-decoration:none;cursor:default;-webkit-tap-highlight-color:transparent; }

.hub-brand:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.hub-brand img { width:74px;height:auto;display:block; }
.hub-shell.logo-in-flight .hub-brand img { visibility:hidden; }
.hub-node { position:absolute;z-index:4;width:64px;height:64px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 58%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;box-shadow:0 12px 35px rgba(0,0,0,.16);opacity:0;animation:nodeIn .55s cubic-bezier(.2,.8,.2,1) forwards;touch-action:none;user-select:none;-webkit-user-select:none;will-change:left,top,transform; }
.hub-node.is-spinning { cursor:grabbing;transform:scale(1.06);border-color:color-mix(in srgb,var(--pink) 62%,var(--line));box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 0 7px var(--pink-soft); }
.hub-node-content,.hub-node-label { display:flex;flex-direction:column;align-items:center;justify-content:center;will-change:transform; }
.hub-node-content { transform-origin:50% 50%; }
.hub-node-label { animation:counterOrbit 1.22s calc(0ms - var(--sakura-intro-elapsed,0ms)) cubic-bezier(.2,.72,.2,1) both; }
.hub-node-label { position:relative; }
.orbit-activity-badge { position:absolute;z-index:2;top:-15px;right:-13px;min-width:18px;height:18px;box-sizing:border-box;padding:0 4px;border-radius:999px;background:var(--pink);color:#fff;border:1.5px solid #08090c;display:grid;place-items:center;font:600 10px/1 "General Sans",sans-serif;pointer-events:none;box-shadow:0 2px 8px #0005; }
.hub-icon { width:20px;height:20px;display:block;color:var(--pink);fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round; }
.hub-icon-render { display:block;width:22px;height:22px;object-fit:contain;flex:none; }
.hub-node .hub-icon-render { width:24px;height:24px;margin:-2px 0; }
.hub-node .hub-icon { color:var(--pink); }
.hub-icon>* { stroke-dasharray:1;stroke-dashoffset:1;animation:iconDraw .82s cubic-bezier(.45,0,.2,1) calc(var(--draw-delay,.72s) - var(--sakura-intro-elapsed,0ms)) forwards; }
.hub-icon>*:nth-child(2) { animation-delay:calc(var(--draw-delay,.72s) + .12s - var(--sakura-intro-elapsed,0ms)); }
.hub-node small { color:#eee9ed;font-size:7px;margin-top:4px;letter-spacing:.02em; }.hub-node:hover small,.hub-node:focus-visible small { color:var(--text); }.hub-node:active:not(.is-spinning){transform:scale(.94)}
.hub-projects { left:calc(50% - 32px);top:calc(50% - 162px);animation-delay:calc(.06s - var(--sakura-intro-elapsed,0ms)); }.hub-chat { left:calc(50% + 92px);top:calc(50% - 72px);animation-delay:calc(.22s - var(--sakura-intro-elapsed,0ms)); }.hub-files { left:calc(50% + 45px);top:calc(50% + 73px);animation-delay:calc(.38s - var(--sakura-intro-elapsed,0ms)); }.hub-invoices { left:calc(50% - 109px);top:calc(50% + 73px);animation-delay:calc(.54s - var(--sakura-intro-elapsed,0ms)); }.hub-upload { left:calc(50% - 156px);top:calc(50% - 72px);animation-delay:calc(.70s - var(--sakura-intro-elapsed,0ms)); }
.hub-projects { --draw-delay:.68s; }.hub-chat { --draw-delay:.82s; }.hub-files { --draw-delay:.96s; }.hub-invoices { --draw-delay:1.1s; }.hub-upload { --draw-delay:1.24s; }
.orbit-settled .hub-orbit-assembly,.orbit-settled .hub-node-label { animation:none; }
.orbit-settled .hub-ring-svg,.orbit-settled .hub-node { animation:none;opacity:1; }
.orbit-settled .hub-icon>* { animation:none;stroke-dashoffset:0; }
.hub-shell.orbit-settled,.hub-shell.release-shell { animation:none; }
.hub-player { position:absolute;z-index:8;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);height:62px;border:1px solid var(--line);border-radius:31px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px);display:grid;grid-template-columns:43px 1fr 60px;gap:10px;align-items:center;padding:8px 14px 8px 8px;box-shadow:none; }
.hub-player>button { width:43px;height:43px;border:0;border-radius:50%;background:var(--pink);color:#fff;cursor:pointer; }.hub-player strong,.hub-player small{display:block}.hub-player strong{font-size:11px}.hub-player small{font-size:8px;color:var(--muted);margin-top:3px}.hub-wave{height:28px;display:flex;gap:3px;align-items:center;justify-content:flex-end}.hub-wave i{display:block;width:2px;height:8px;background:var(--pink)}.hub-wave i:nth-child(2),.hub-wave i:nth-child(4){height:20px}.hub-wave i:nth-child(3){height:13px}

.hub-section { overflow-y:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom)); }.hub-section .hub-tools { margin-bottom:26px; }.section-kicker { color:var(--pink);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px; }.hub-section h1 { margin:0 0 -5px;font-family:"General Sans",system-ui,sans-serif;font-size:55px;font-weight:400;line-height:.82;letter-spacing:-.03em;transform:scaleY(.9);transform-origin:left top; }.hub-section h1 em { color:var(--pink);font-weight:400; }.section-note { max-width:335px;color:var(--muted);font-size:12px;line-height:1.55;margin:20px 0 30px; }.section-upload { width:100%;height:58px;border:1px solid var(--pink);background:var(--pink-soft);color:var(--text);display:flex;align-items:center;justify-content:space-between;padding:0 15px;margin:-9px 0 17px;cursor:pointer; }.section-upload span{font-size:11px}.section-upload b{font-size:21px;color:var(--pink)}
.section-list { border-top:1px solid var(--line);padding-bottom:75px; }.section-list>button { width:100%;min-height:78px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);display:grid;grid-template-columns:25px 1fr auto;gap:11px;align-items:center;text-align:left;padding:12px 0;cursor:pointer; }.section-list>button>i{font-style:normal;color:var(--pink);font-size:8px;align-self:start;margin-top:6px}.section-list>button>span{min-width:0}.section-list strong,.section-list small{display:block}.section-list strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-list small{font-size:9px;color:var(--muted);margin-top:5px}.section-list>button>b{font-size:9px;color:var(--muted);font-weight:500}
.hub-section>.section-list { padding-bottom:0; }
.files-section { overflow:hidden;padding:0; }
.files-scroll-content { width:100%;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom)); }
.files-fixed-header { position:relative;z-index:5;flex:0 0 auto;display:flex;flex-direction:column;margin-inline:-6px;padding-inline:6px;background:var(--bg);box-shadow:0 8px 12px rgba(3,3,4,.6); }
.files-list-scroll { flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none;margin-inline:-6px;padding-inline:6px; }
.files-list-scroll::-webkit-scrollbar { display:none; }
.files-section .hub-tools { margin-bottom:22px; }
.files-section .section-kicker { margin-bottom:10px; }
.files-section .section-note { margin:0 0 17px; }
.file-search-box { height:34px;margin-bottom:10px;border:1px solid var(--line);border-radius:17px;background:rgba(17,19,25,.72);display:grid;grid-template-columns:16px minmax(0,1fr) 22px;align-items:center;gap:7px;padding:0 7px 0 12px;transition:border-color .2s ease,background .2s ease; }
.file-search-box:focus-within { border-color:var(--focus-line);background:rgba(17,19,25,.94); }
.file-search-box svg { width:14px;height:14px;fill:none;stroke:var(--pink);stroke-width:1.45;stroke-linecap:round; }
.file-search-box input { width:100%;min-width:0;height:20px;line-height:20px;align-self:center;border:0;outline:0;background:transparent;color:var(--text);font-size:16px;padding:0; }
.file-search-box input::-webkit-search-cancel-button { display:none; }
.file-search-box input::placeholder { color:var(--muted);opacity:.58;font-size:10px;line-height:20px; }
.file-search-box button { width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:15px;display:grid;place-items:center;cursor:pointer; }
.file-search-box button[hidden] { visibility:hidden; }
.file-filter-panel { position:relative;z-index:3;flex:0 0 auto;display:grid;gap:8px;margin:0 0 8px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg); }
.file-filter-row { min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px; }
.file-filter-label { color:var(--muted);font-size:8px;letter-spacing:.1em;text-transform:uppercase; }
.file-filter-scroll { min-width:0;display:flex;align-items:center;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:0 14px;padding-right:14px;scrollbar-width:none;-webkit-overflow-scrolling:touch; }
.file-filter-scroll::-webkit-scrollbar { display:none; }
.file-filter-chip { flex:0 0 auto;height:29px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:rgba(17,19,25,.72);color:var(--muted);font-size:9px;white-space:nowrap;scroll-snap-align:start;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease; }
.file-filter-row:first-child .file-filter-scroll { gap:6px; }
.file-filter-row:first-child .file-filter-chip { padding-inline:10px; }
.file-filter-chip:active { transform:scale(.95); }
.file-filter-chip.active { color:var(--text);border-color:rgba(var(--accent-rgb),.52);background:var(--pink-soft); }
.file-beats-toggle[aria-pressed="true"] { border-color:rgba(var(--accent-rgb),.48);background:rgba(var(--accent-rgb),.09);color:var(--pink); }
.file-beats-toggle svg { width:22px;height:22px; }
.file-beats-toggle .piano-black-keys { fill:currentColor;stroke:none; }
.beat-ideas { min-height:0;overflow:auto;padding:1px 0 22px;scrollbar-width:thin; }
.beat-idea-form { display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.012); }
.beat-idea-form label { color:var(--muted);font-size:13px; }
.beat-idea-entry { display:flex;gap:8px; }
.beat-idea-form input { min-width:0;width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:none;background:rgba(0,0,0,.22);color:var(--text);font:inherit;font-size:14px; }
.beat-idea-form input:focus-visible { border-color:var(--focus-line); }
.beat-idea-entry button { flex:none;padding:0 15px;border:1px solid rgba(var(--accent-rgb),.5);border-radius:9px;background:rgba(var(--accent-rgb),.1);color:var(--pink);font:inherit;font-size:13px;cursor:pointer; }
.beat-idea-entry button:disabled { opacity:.5;cursor:wait; }
.beat-idea-error { margin:0;color:var(--pink);font-size:12px; }
.beat-idea-list { display:grid;gap:8px;margin-top:12px; }
.beat-idea-card { display:flex;align-items:center;min-height:54px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.012); }
.beat-idea-play { display:flex;align-items:center;gap:11px;min-width:0;flex:1;padding:10px 8px 10px 12px;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer; }
.beat-idea-play span { flex:none;display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:8px;color:var(--pink);font-size:11px; }
.beat-idea-play strong { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500; }
.beat-idea-play small { margin-left:auto;color:var(--muted);font-size:11px; }
.beat-idea-card>a,.beat-idea-remove { display:grid;place-items:center;flex:none;width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:18px;text-decoration:none;cursor:pointer; }
.beat-idea-card>a:hover,.beat-idea-remove:hover { color:var(--pink); }
.beat-idea-empty { margin:12px 0;color:var(--muted);font-size:13px;line-height:1.5; }
.beat-idea-player { margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.012); }
.beat-idea-player>div { display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 9px; }
.beat-idea-player strong { font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.beat-idea-player button { border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer; }
.beat-idea-player iframe { display:block;width:100%;height:auto;min-height:200px;aspect-ratio:16/9;border:0;border-radius:9px;background:#000; }
.beat-idea-player>a { display:inline-block;margin-top:10px;color:var(--pink);font-size:12px;text-decoration:none; }
.projects-section { overflow:hidden;padding:0; }
.projects-scroll-content { width:100%;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom)); }
.projects-section .hub-tools { margin-bottom:22px; }
.projects-section .section-kicker { margin-bottom:10px; }
.projects-section .section-note { margin:0 0 17px; }
.project-search-box { flex:0 0 34px;margin-bottom:16px;border-radius:10px; }
.project-results { position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none;margin:0 -6px;padding:7px 6px 9px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:rgba(255,255,255,.012); }
.project-results::-webkit-scrollbar { display:none; }
.project-list { display:grid;gap:8px; }
.project-card { --project-accent:var(--pink);position:relative;width:100%;min-height:112px;padding:13px 13px 12px;border:1px solid rgba(255,255,255,.085);border-radius:15px;background:linear-gradient(110deg,rgba(255,255,255,.052),rgba(255,255,255,.017));color:var(--text);text-align:left;overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.project-card[data-project-kind="Beat"],.project-card[data-project-kind="Musikvideo"] { --project-accent:var(--pink); }
.project-card:active { transform:scale(.985);border-color:color-mix(in srgb,var(--project-accent) 42%,var(--line));background:linear-gradient(110deg,rgba(255,255,255,.068),rgba(255,255,255,.024)); }
.project-card-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.project-card-copy { min-width:0; }
.project-card-copy strong,.project-card-copy small { display:block; }
.project-card-copy strong { font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.project-card-copy small { margin-top:4px;color:var(--muted);font-size:8px; }
.project-state { flex:0 0 auto;padding:5px 8px;border:1px solid color-mix(in srgb,var(--project-accent) 28%,transparent);border-radius:12px;background:color-mix(in srgb,var(--project-accent) 8%,transparent);color:var(--project-accent);font-size:7px;font-weight:600;letter-spacing:.05em;text-transform:uppercase; }
.project-steps { position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:19px; }
.project-steps::before,.project-progress-line { content:"";position:absolute;left:12.5%;right:12.5%;top:4px;height:1px;background:rgba(255,255,255,.12); }
.project-progress-line { right:auto;width:calc(var(--project-progress) * .75);background:var(--project-accent);opacity:.7; }
.project-step { position:relative;z-index:1;display:grid;justify-items:center;gap:7px;color:var(--muted); }
.project-step i { width:9px;height:9px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#111319;box-shadow:0 0 0 3px #111319; }
.project-step small { max-width:100%;font-size:7px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.project-step.is-done { color:color-mix(in srgb,var(--project-accent) 76%,var(--text)); }
.project-step.is-done i { border-color:var(--project-accent);background:var(--project-accent); }
.project-step.is-current i { box-shadow:0 0 0 3px #111319,0 0 0 6px color-mix(in srgb,var(--project-accent) 14%,transparent); }
.project-detail { --project-accent:var(--pink);min-height:100%; }
.projects-entering .project-detail { animation:projectDetailIn .52s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(0s - var(--page-entry-elapsed,0s)); }
.project-detail-back { height:28px;margin:0 0 10px;padding:0;border:0;background:transparent;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer; }
.project-detail-back span { font-size:8px;letter-spacing:.06em;text-transform:uppercase; }
.project-detail-navigation { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
.project-detail-navigation .project-detail-back { margin:0; }
.project-detail-navigation .hub-round { width:30px;height:30px;padding:0;flex:0 0 30px; }
.project-detail-navigation .release-open svg { width:16px;height:16px;display:block; }
.project-toolbar-actions { display:flex;align-items:center;gap:8px;margin-left:auto; }
.sessions-section .project-toolbar-actions>.hub-round { border-color:rgba(255,255,255,.075);color:var(--muted); }
.sessions-section .project-toolbar-actions>.hub-round:is(:hover,:focus-visible) { border-color:rgba(255,255,255,.2);color:var(--text); }
.account-logout { margin-left:auto;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;cursor:pointer; }
.account-logout:hover,.account-logout:focus-visible { color:var(--pink);border-color:var(--focus-line); }
.hub-language { display:flex;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:34px;padding:5px 7px;border:0;background:transparent;color:var(--text);font-family:inherit;cursor:pointer; }
.hub-language svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2; }
.hub-language span { font-size:9px;letter-spacing:.05em; }
.hub-language:hover,.hub-language:focus-visible,.hub-language:active { color:var(--text); }
html[lang="en"] .release-shelf.is-release-drop-available::after { content:"Drop here to remove the release date"; }
html[lang="en"] .release-shelf.is-release-drop-target::after { content:"Release → unscheduled"; }
.create-project-dialog { width:calc(100% - 36px);max-width:350px;max-height:calc(100dvh - 40px);overflow-y:auto;margin:auto;padding:22px 18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(9,10,13,.94);color:var(--text);box-shadow:0 24px 70px #0009; }
.create-project-dialog::backdrop { background:rgba(0,0,0,.72);backdrop-filter:blur(5px); }
.create-project-heading { display:flex;align-items:center;justify-content:space-between;margin-bottom:22px; }
.create-project-heading h2 { margin:0;font-family:inherit;font-weight:500;font-size:20px;line-height:1.2;transform:none; }
.create-project-heading button { border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer; }
.create-project-dialog form>label { display:grid;gap:9px;font-size:12px;color:var(--muted); }
.create-project-dialog input:is([name="projectTitle"],[name="customProjectType"]) { width:100%;min-width:0;height:44px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#090b10;color:var(--text);font-family:inherit;font-size:16px; }
.create-project-dialog input:is([name="projectTitle"],[name="customProjectType"]):focus { outline:1px solid var(--focus-line); }
.create-project-dialog .release-save { border-color:rgba(var(--accent-rgb),.22);background:rgba(var(--accent-rgb),.075);color:#d994aa; }
.create-project-dialog fieldset { margin:20px 0 0;padding:0;border:0; }
.create-project-dialog legend { margin-bottom:10px;font-size:12px;color:var(--muted); }
.create-project-types { display:flex;gap:6px; }
.create-project-types label { position:relative;flex:1;min-width:0;cursor:pointer; }
.create-project-types input { position:absolute;opacity:0;width:1px;height:1px; }
.create-project-types span { display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;border:1px solid transparent;border-radius:9px;background:var(--ui-panel);color:var(--muted);font-size:12px;font-weight:500;transition:background-color .18s ease,color .18s ease; }
.create-project-types input:checked+span { color:var(--text);background:var(--ui-selected); }
@media (hover:hover) and (pointer:fine) { .create-project-types label:hover input:not(:checked)+span { color:var(--text);background:var(--ui-hover); } }
.create-project-types input:focus-visible+span { outline:2px solid var(--focus-line);outline-offset:-2px; }
.create-project-error { color:var(--pink);font-size:12px;line-height:1.5;margin:14px 0 0; }
.release-day.is-project-day { --day-outline:rgba(var(--accent-rgb),.6); }
.release-shell .release-day .release-card.is-calendar-focused { outline:1px solid var(--release-accent);outline-offset:-1px;background:color-mix(in srgb,var(--release-accent) 20%,#101218); }
.project-detail-head { min-height:58px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 5px 11px; }
.project-detail-head span { min-width:0; }
.project-detail-head small { display:block;color:var(--pink);font-size:8px;letter-spacing:.11em;text-transform:uppercase; }
.project-detail-head h2 { margin:5px 0 0;font-family:"General Sans",system-ui,sans-serif;font-size:30px;font-weight:400;line-height:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.project-detail-head>b { flex:0 0 auto;padding:5px 8px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:12px;background:var(--pink-soft);color:var(--pink);font-size:7px;font-weight:600;letter-spacing:.05em;text-transform:uppercase; }
.project-detail-steps { margin:3px 0 20px;padding:0 2px; }
.project-detail-steps.is-editable .project-step { min-height:42px;padding:0 2px 5px;border:0;background:transparent;font:inherit;cursor:pointer;touch-action:manipulation; }
.project-detail-steps.is-editable .project-step:not(:disabled):hover i { border-color:var(--project-accent);box-shadow:0 0 0 3px #111319,0 0 0 7px color-mix(in srgb,var(--project-accent) 20%,transparent); }
.project-detail-steps.is-editable .project-step:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px;border-radius:8px; }
.project-detail-steps.is-editable .project-step:disabled { cursor:not-allowed; }
.project-master { margin:0 0 17px;padding:11px 13px;border:1px solid rgba(153,168,189,.15);border-radius:13px;background:rgba(153,168,189,.025); }
.project-master.is-revealing { animation:projectMasterReveal .48s cubic-bezier(.16,1,.3,1) both; }
@keyframes projectMasterReveal { from { opacity:0;transform:translateY(-18px);clip-path:inset(0 0 100% 0); } to { opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0); } }
@media (prefers-reduced-motion:reduce) { .project-master.is-revealing { animation:none; } }
.project-master-head { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.project-master-head h3 { margin:0;color:#d9d5dd;font-size:14px;font-weight:500; }
.project-master-disclosure>summary { min-height:26px;list-style:none;cursor:pointer; }
.project-master-disclosure>summary::-webkit-details-marker { display:none; }
.project-master-disclosure>summary h3 { flex:1;min-width:0; }
.project-master-chevron { flex:none;width:15px;height:15px;fill:none;stroke:#96929c;stroke-width:1.5;transition:transform .18s ease; }
.project-master-disclosure[open] .project-master-chevron { transform:rotate(180deg); }
.project-master-disclosure>summary:focus-visible { outline:1px solid var(--focus-line);outline-offset:4px;border-radius:4px; }
@media (prefers-reduced-motion:reduce) { .project-master-chevron { transition:none; } }
.project-master-head span { flex:none;padding:3px 8px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:12px;color:#d7a4b8;font-size:11px; }
.project-master[data-master-status="approved"] .project-master-head span { border-color:rgba(138,200,163,.24);color:#a1d0b4; }
.project-master[data-master-status="changes_requested"] .project-master-head span { border-color:rgba(205,162,114,.25);color:#d2ad84; }
.project-master-file { margin:9px 0 0;color:#ece6ee;font-size:14px;overflow-wrap:anywhere; }
.project-master-play { display:flex;align-items:center;gap:8px;max-width:100%;padding:0;border:0;background:none;font:inherit;font-size:14px;text-align:left;cursor:pointer; }
.project-master-play>span { flex:none;color:var(--pink);font-size:10px; }
.project-master-play:hover { color:#f4bed0; }
.project-master-note,.project-master-hint { margin:7px 0 0;color:#a8a1ac;font-size:13px;line-height:1.4; }
.project-master-feedback { margin:8px 0 0;padding:7px 10px;border-left:2px solid rgba(var(--accent-rgb),.5);color:#d6c4cd;font-size:13px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere; }
.project-master-actions { display:flex;flex-wrap:wrap;gap:7px;margin-top:10px; }
.project-master-actions button { min-height:36px;padding:8px 12px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:9px;background:rgba(var(--accent-rgb),.075);color:#e6bdce;font:inherit;font-size:13px;cursor:pointer; }
.project-master-actions .project-master-secondary { border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.015);color:#b9b3bd; }
.project-master-actions button:disabled { opacity:.4;cursor:default; }
.project-master-dialog { width:min(390px,calc(100% - 32px)); }
.project-master-dialog-project { margin:0 0 16px;color:#d9b0c3;font-size:14px; }
.project-master-dialog-note { color:#aaa0ad;font-size:13px;line-height:1.5; }
.project-master-dialog-actions { display:flex;align-items:center;gap:8px;margin-top:18px; }
.project-master-dialog-actions button { min-height:42px; }
.project-master-dialog-actions [data-cancel] { padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:transparent;color:#bdb4bf;font:inherit;font-size:13px; }
.project-master-dialog-actions .session-submit { flex:1; }
.project-master button:focus-visible,.project-master-dialog button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.project-deadlines { margin:0 0 22px;padding-top:14px;border-top:1px solid rgba(153,168,189,.12); }
.project-deadlines-heading { display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px; }
.project-deadlines-heading>span { font-size:11px;color:#c8c3cd; }
.project-deadlines-heading>small { font-size:8px;color:var(--muted); }
.project-deadlines-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 4px; }
.project-deadline { min-width:0;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(153,168,189,.12);border-radius:10px;background:linear-gradient(110deg,rgba(var(--accent-rgb),.035),transparent); }
.project-deadline>span { display:flex;align-items:center;gap:7px;font-size:10px;color:#aaa3af; }
.project-deadline i { width:5px;height:5px;border-radius:50%;background:var(--pink);opacity:.7; }
.project-deadline input { box-sizing:border-box;min-width:0;width:100%;max-width:100%;height:25px;padding:0;border:0;background:transparent;color:#ded8e2;font-family:"General Sans",system-ui,sans-serif;font-size:14px;font-weight:400;letter-spacing:.005em;font-variant-numeric:tabular-nums;color-scheme:dark; }
.project-deadline input::-webkit-datetime-edit { font-family:inherit;font-size:inherit;letter-spacing:inherit;font-variant-numeric:inherit; }
.project-deadline input:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px;border-radius:3px; }
.project-deadline input[data-date-empty="true"] { color:transparent; }
.project-deadline input[data-date-empty="true"]::-webkit-datetime-edit { color:transparent; }
.project-deadline input[data-date-empty="true"]::-webkit-date-and-time-value { color:transparent; }
.project-deadline input::-webkit-calendar-picker-indicator { opacity:.75; }
.project-deadline.is-release { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;align-items:center;background:linear-gradient(110deg,rgba(136,165,207,.07),transparent); }
.project-deadline.is-release input { width:100%; }
.project-deadline.is-release i { background:#91abcd; }
.project-deadline-control { display:flex;align-items:center;gap:5px;min-width:0; }
.project-deadline-control input { flex:1; }
.project-deadline-clear { position:relative;flex:none;width:20px;height:20px;padding:3px;display:grid;place-items:center;border:1px solid rgba(153,168,189,.18);border-radius:6px;background:transparent;color:#928b99; }
.project-deadline-clear::after { content:"";position:absolute;inset:-3px; }
.project-deadline-clear[hidden] { display:none; }
.project-deadline-clear svg { width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round; }
.project-deadline-clear:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.promo-add { width:30px;height:30px;display:grid;place-items:center;padding:6px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);cursor:pointer; }
.promo-add svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round; }
.promo-add:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.promo-entry { margin:0 0 14px;min-width:0; }
.promo-entry:last-child { margin-bottom:0; }
.promo-entry-heading { display:flex;align-items:center;gap:8px;margin:0 4px 8px; }
.promo-entry-heading input, .account-name-row input { min-width:0;flex:1;width:100%;padding:5px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:#c8c3cd;font:inherit;font-size:16px; }
.promo-entry-heading input:focus, .account-name-row input:focus { outline:none;border-bottom-color:var(--focus-line); }
.promo-empty { margin:0 4px;color:var(--muted);font-size:12px; }
.account-name { margin:16px 0 8px; }
.account-name-row { display:flex;align-items:center;gap:3px;min-width:0; }
.account-name-row input { flex:0 1 auto;width:var(--name-width);max-width:calc(100% - 100px); }
.studio-name-row input { max-width:calc(100% - 116px); }
.account-photo-control { position:relative;display:block;flex:0 0 auto; }
.account-photo-trigger { display:grid;place-items:center;width:34px;height:34px;padding:1px;border:1px dashed rgba(220,161,188,.42);border-radius:10px;background:rgba(221,126,165,.045);color:#dca1bc;font:400 18px/1 'General Sans',sans-serif;cursor:pointer;overflow:hidden; }
.account-photo-trigger:has(.account-studio-logo) { width:54px;border-color:transparent;background:transparent; }
.account-photo-trigger:has(.account-profile-photo) { border-style:solid;border-color:rgba(255,255,255,.13);background:#161519; }
.account-photo-trigger img { display:block;width:100%;height:100%;object-fit:cover; }
.account-photo-trigger .account-studio-logo { object-fit:contain; }
.account-photo-trigger:hover,.account-photo-trigger:focus-visible { border-color:var(--focus-line);outline:none; }
.account-photo-trigger:disabled { opacity:.45;cursor:wait; }
.account-photo-menu { position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:grid;gap:2px;min-width:190px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#171619;box-shadow:0 14px 36px rgba(0,0,0,.5); }
.account-photo-menu[hidden] { display:none; }
.account-photo-menu button { padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;white-space:nowrap;cursor:pointer; }
.account-photo-menu button:hover,.account-photo-menu button:focus-visible { background:rgba(var(--accent-rgb),.12);outline:none; }
.studio-profile .account-name h2 { margin:0;min-width:0; }
.account-name-icon { flex:0 0 28px;width:28px;height:32px;display:grid;place-items:center start;padding:0;border:0;background:none;color:var(--muted);cursor:pointer; }
.account-name-icon svg { width:12.6px;height:12.6px;transform:translateY(3px);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.account-name-icon:hover { color:var(--text); }
.account-name-icon:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px;border-radius:6px; }
.project-files-head { height:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:.09em;text-transform:uppercase; }
.project-files-head b { color:var(--text);font-size:8px;font-weight:500; }
.project-file-list { margin-top:8px; }
.project-file-list>.file-card { min-height:61px; }
.project-documents-head { margin-top:18px; }
.project-document-list { margin-top:8px; }
.project-document-row { display:flex;align-items:center;gap:11px;width:100%;min-height:61px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(153,168,189,.035);color:var(--text);text-align:left;cursor:pointer; }
.project-document-row+.project-document-row { margin-top:7px; }
.project-document-row:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.project-document-icon { display:grid;flex:none;place-items:center;width:32px;height:32px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:8px;color:var(--pink); }
.project-document-icon svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5; }
.project-document-copy { display:block;min-width:0;flex:1; }
.project-document-copy strong,.project-document-copy small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.project-document-copy strong { font-size:11px;font-weight:600; }
.project-document-copy small { margin-top:4px;color:var(--muted);font-size:8px; }
.project-document-arrow { flex:none;color:var(--muted);font-size:14px; }
.projects-entering .section-kicker,
.projects-entering .section-note,
.projects-entering .project-search-box,
.projects-entering .project-group-heading,
.projects-entering .project-card,
.projects-entering .project-list>.file-empty {
  animation:pageContentEnter .42s cubic-bezier(.22,.8,.25,1) both;
  animation-delay:calc(var(--project-entry-delay,0s) - var(--page-entry-elapsed,0s));
}
.projects-entering .section-kicker { --project-entry-delay:.02s; }
.projects-entering .section-note { --project-entry-delay:.07s; }
.projects-entering .project-search-box { --project-entry-delay:.12s; }
.projects-entering .project-group-heading { --project-entry-delay:.18s; }
.projects-entering .project-card:nth-child(1),.projects-entering .project-list>.file-empty { --project-entry-delay:.23s; }
.projects-entering .project-card:nth-child(2) { --project-entry-delay:.27s; }
.projects-entering .project-card:nth-child(3) { --project-entry-delay:.31s; }
.projects-entering .project-card:nth-child(4) { --project-entry-delay:.35s; }
.projects-entering .project-card:nth-child(n+5) { --project-entry-delay:.39s; }
.projects-section { --project-blue:#929eaf; }
.projects-section .project-results { border:0;background:transparent;padding:2px 6px 12px; }
.projects-section .project-list { gap:12px; }
.projects-section .project-card { --project-accent:var(--pink);min-height:140px;padding:18px 15px 16px;border-color:rgba(153,168,189,.11);border-radius:18px;background:linear-gradient(110deg,rgba(153,168,189,.055),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(210,220,235,.025); }
.projects-section .project-card::before,.projects-section .project-card::after { content:none; }
.projects-section .project-card:active { background:linear-gradient(110deg,rgba(153,168,189,.08),rgba(255,255,255,.025));border-color:rgba(153,168,189,.25); }
.projects-section .project-card-copy strong { font-size:17px;letter-spacing:-.02em;font-weight:500;color:#edf4ff; }
.projects-section .project-card-copy small { margin-top:6px;font-size:10px;color:#8e9db2; }
.projects-section .project-state { padding:5px 7px;font-size:8px;border:1px solid rgba(153,168,189,.09);border-radius:6px;background:rgba(153,168,189,.04);color:var(--project-blue); }
.projects-section .project-card .project-steps { margin-top:26px; }
.projects-section .project-step small { font-size:10px; }
.projects-section .project-step i { background:#101217;box-shadow:0 0 0 3px #101217; }
.projects-section .project-step.is-done i { background:var(--pink);border-color:var(--pink); }
.projects-section .project-step.is-current i { box-shadow:0 0 0 3px #101217,0 0 0 6px var(--pink-soft); }
.projects-section .project-step.is-current i { position:relative;box-shadow:0 0 0 3px #101217; }
.projects-section .project-step.is-current i::after { content:"";position:absolute;inset:-7px;border:3px solid var(--pink-soft);border-radius:50%;pointer-events:none;animation:projectStatusPulse 3.4s ease-in-out infinite; }
.projects-section .project-detail { --project-accent:var(--pink);position:relative;isolation:isolate;padding:12px;border:1px solid rgba(153,168,189,.11);border-radius:18px;background:linear-gradient(110deg,rgba(153,168,189,.055),rgba(255,255,255,.012)); }
.project-cover-banner { position:absolute;z-index:0;top:0;left:0;right:0;height:clamp(230px,44vw,400px);overflow:hidden;border-radius:inherit;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0%,#000 22%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 22%,transparent 100%); }
.project-cover-banner img { display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.19;filter:brightness(.7) saturate(.85) blur(2px);transform:scale(1.03); }
.project-detail>:not(.project-cover-banner):not(dialog):not(.project-cover-input) { position:relative;z-index:1; }
.projects-section .project-detail-navigation .hub-round,.projects-section .project-detail-head>b { margin-right:-6px; }
.projects-section .project-detail-head { min-height:88px;display:grid;grid-template-columns:minmax(0,1fr) 72px;grid-template-rows:auto 1fr;column-gap:12px;row-gap:7px;align-items:start;padding-right:0; }
.projects-section .project-detail-head>span { grid-column:1;min-width:0; }
.projects-section .project-detail-head>b { grid-column:1;grid-row:2;justify-self:start;margin:0; }
.project-cover-picker { grid-column:2;grid-row:1/3;display:grid;place-items:center;width:72px;height:72px;padding:0;overflow:hidden;border:1px solid rgba(153,168,189,.22);border-radius:12px;background:rgba(153,168,189,.035);color:#bc9daa;font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease; }
.project-cover-picker:hover { border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.055); }
.project-cover-picker.is-readonly { cursor:default; }
.project-cover-picker.is-readonly:hover { border-color:rgba(153,168,189,.22);background:rgba(153,168,189,.035); }
.project-cover-picker .project-cover-empty { color:#8f8990;font-size:10px;line-height:1.2;text-align:center; }
.project-cover-picker:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.project-cover-picker>img { display:block;width:100%;height:100%;object-fit:cover; }
.project-cover-picker>span { display:flex;flex-direction:column;align-items:center;gap:1px;font-size:25px;font-weight:300;line-height:1; }
.project-cover-picker small { color:#9e929b;font-size:9px;letter-spacing:.02em; }
.project-cover-picker.is-uploading { opacity:.5;cursor:wait; }
.project-cover-input { display:none; }
.project-cover-crop-dialog { width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 24px);overflow:auto;padding:18px;border:1px solid rgba(185,158,172,.24);border-radius:18px;background:#111113;color:#e8e3e8;box-shadow:0 20px 60px rgba(0,0,0,.65);font:inherit; }
.project-cover-crop-dialog::backdrop { background:rgba(0,0,0,.76); }
.project-cover-crop-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px; }
.project-cover-crop-head h2 { margin:0;font-size:17px;font-weight:500; }
.project-cover-crop-head button { display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:transparent;color:#bdb2ba;font:inherit;font-size:19px;cursor:pointer; }
.project-cover-crop-dialog>p { margin:0 0 14px;color:#9d949b;font-size:12px;line-height:1.45; }
.project-cover-crop-dialog canvas { display:block;width:min(100%,320px);height:auto;aspect-ratio:1;margin:0 auto;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#080808;touch-action:none;cursor:grab; }
.project-cover-crop-dialog canvas:active { cursor:grabbing; }
.project-cover-crop-dialog canvas:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.project-cover-zoom { display:flex;align-items:center;gap:12px;margin:18px 0;color:#aaa0a8;font-size:12px; }
.project-cover-zoom input { flex:1;min-width:0;accent-color:var(--pink); }
.project-cover-crop-dialog>.project-cover-crop-error { min-height:0;margin:0;color:#f18a9e;font-size:11px; }
.project-cover-crop-actions { display:flex;gap:8px;margin-top:14px; }
.project-cover-crop-actions button { flex:1;min-height:38px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.025);color:#d7d0d6;font:inherit;font-size:12px;cursor:pointer; }
.project-cover-crop-actions [data-crop-save] { border-color:rgba(var(--accent-rgb),.33);background:rgba(var(--accent-rgb),.12);color:#f4b2c3; }
.project-cover-crop-actions button:disabled { opacity:.5;cursor:wait; }
.projects-section .project-detail-head h2 { font-family:inherit;font-size:24px;font-weight:500;line-height:1.15;color:#edf4ff; }
.projects-section .project-detail-head .project-name-row { display:flex;align-items:center;gap:5px;min-width:0;max-width:100%; }
.project-name-fit { display:inline-grid;position:relative;width:max-content;max-width:calc(100% - 34px);min-width:1ch; }
.project-name-fit::after { content:attr(data-value);visibility:hidden;grid-area:1/1;white-space:pre;overflow:hidden; }
.project-name-row input { position:absolute;inset:0;box-sizing:border-box;min-width:0;width:100%;height:100%;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:inherit;font:inherit;text-overflow:ellipsis; }
.project-name-row input:focus { outline:none;border-bottom-color:var(--focus-line);text-overflow:clip; }
.project-name-row button { flex:0 0 29px;display:grid;place-items:center;width:29px;height:29px;padding:4px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer; }
.project-name-row button:hover,.project-name-row button:focus-visible { color:var(--text); }
.project-name-row button:focus-visible { outline:1px solid var(--focus-line); }
.project-name-row button svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.projects-section .project-detail-head small { color:var(--project-blue); }
.projects-section .project-detail-head>b { border-color:rgba(153,168,189,.11);background:rgba(153,168,189,.04);color:var(--project-blue); }
.projects-section .project-detail-steps { margin-top:16px;margin-bottom:26px; }
.projects-section .project-detail-steps::before { top:5px;height:2px;background:rgba(210,218,229,.24); }
.projects-section .project-detail-steps .project-progress-line { top:5px;height:2px;opacity:.94; }
.projects-section .project-detail-steps .project-step i { width:10px;height:10px;background:#101217;box-shadow:0 0 0 4px #101217; }
.projects-section .project-detail-steps .project-step.is-done i { background:var(--project-accent);border-color:var(--project-accent); }
.projects-section .project-group-list { gap:18px; }
/* Match the group gaps: 18px grid gap + 9px heading margin - 2px results inset. */
.projects-section .project-search-box { margin-bottom:25px; }
.project-priority-group { --group-color:#b9bdc5;--group-tint:rgba(190,194,202,.0306);min-width:0; }
.project-priority-group[data-priority="published"] { --group-color:#9fcbb1;--group-tint:rgba(92,164,119,.051); }
.project-priority-group[data-priority="important"] { --group-color:var(--pink);--group-tint:rgba(var(--accent-rgb),.0442); }
.project-priority-group[data-priority="low"] { --group-color:#777b84;--group-tint:rgba(150,154,165,.0238); }
/* Tinted status cards keep project groups compact and distinct. */
.project-group-heading { display:flex;align-items:center;margin:0 0 9px;padding:0;border:0;color:color-mix(in srgb,var(--group-color) 80%,transparent);font-size:12px;font-weight:500; }
.project-group-heading span { display:flex;align-items:center; }
.project-group-heading small { display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1px solid color-mix(in srgb,var(--group-color) 6.4%,transparent);border-radius:5px;background:color-mix(in srgb,var(--group-color) 4.8%,transparent);font-size:9px;font-weight:500;line-height:1; }
.project-group-heading>button { width:100%;min-height:38px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--group-color) 8%,transparent);border-radius:11px;background:linear-gradient(110deg,var(--group-tint),rgba(255,255,255,.01275));box-shadow:inset 0 1px 0 rgba(255,255,255,.0125);color:inherit;font:inherit;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease; }
.project-group-heading>button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
@media(hover:hover){.project-group-heading>button:hover{border-color:color-mix(in srgb,var(--group-color) 15.2%,transparent);background:var(--group-tint)}}
.project-group-heading>button>span { flex:1; }
.project-group-heading>button>.project-group-chevron { display:block;flex:0 0 14px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease; }
.is-collapsed .project-group-heading>button>.project-group-chevron { transform:rotate(-90deg); }
.project-group-body { display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .25s ease; }
.project-group-body>.project-grid { min-height:0;overflow:hidden; }
.is-collapsed>.project-group-body { grid-template-rows:0fr;opacity:0; }
.project-group-empty { display:none;grid-column:1/-1;padding:18px 6px;border:1px dashed color-mix(in srgb,var(--group-color) 12.5%,transparent);border-radius:12px;text-align:center;color:var(--group-color);font-size:11px; }
.project-group-empty:only-child { display:block; }
.project-grid [data-project-title] { touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none; }
.projects-section .project-grid .is-drag-placeholder { opacity:.22;border:1px dashed var(--group-color); }
.is-drop-target>.project-group-heading { filter:brightness(1.25); }
.projects-section .project-drag-ghost { position:absolute;z-index:50;display:block;pointer-events:none;transform:scale(1.035) rotate(1deg);filter:drop-shadow(0 12px 16px rgba(0,0,0,.6)); }
.project-drag-ghost * { pointer-events:none; }
.project-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.projects-section .project-grid .project-card { min-height:130px;padding:12px;border-radius:14px;border-color:color-mix(in srgb,var(--group-color) 7.5%,transparent);background:linear-gradient(110deg,rgba(153,168,189,.055),rgba(255,255,255,.012)); }
.project-card-banner { position:absolute;z-index:0;top:0;left:0;width:100%;height:78%;object-fit:cover;object-position:center 42%;opacity:.16;filter:brightness(.68) saturate(.82) blur(1px);pointer-events:none;-webkit-mask-image:linear-gradient(#000 0%,transparent 100%);mask-image:linear-gradient(#000 0%,transparent 100%); }
.projects-section .project-grid .project-card-head,.projects-section .project-grid .project-steps,.projects-section .project-grid .project-current-label { position:relative;z-index:1; }
.projects-section .project-grid .project-card.has-cover .project-card-copy { display:block;padding-right:52px; }
.project-cover-thumbnail { position:absolute;z-index:2;top:12px;right:12px;display:block;width:44px;height:44px;object-fit:cover;border:1px solid rgba(255,255,255,.12);border-radius:8px;pointer-events:none; }
.projects-section .project-grid .project-card.is-master-approved { border-color:rgba(138,200,163,.12);background:linear-gradient(120deg,rgba(92,164,119,.13),rgba(69,135,96,.075));box-shadow:inset 0 1px 0 rgba(185,226,196,.03); }
.projects-section .project-grid .project-card.is-master-approved:active { border-color:rgba(138,200,163,.19);background:linear-gradient(120deg,rgba(92,164,119,.17),rgba(69,135,96,.1)); }
.project-grid .project-card-head { display:block; }
.projects-section .project-grid .project-card-copy strong { margin-top:5px;font-size:14px; }
.projects-section .project-grid .project-card-copy small { margin:0;font-size:9px;color:var(--group-color); }
.projects-section .project-grid .project-state { display:inline-block;margin-top:7px;font-size:7px;padding:3px 5px; }
.projects-section .project-grid .project-steps { margin-top:14px; }
.project-current-label { display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:var(--pink);font-size:10px; }
.project-current-label small { color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums; }
.projects-section .project-card.is-complete,.projects-section .project-detail.is-complete { --project-accent:#8ac8a3; }
.projects-section .is-complete .project-step.is-done i { background:var(--project-accent);border-color:var(--project-accent); }
.projects-section .is-complete .project-step.is-current i::after { border-color:rgba(138,200,163,.14);animation:none; }
.projects-section .is-complete .project-current-label,.projects-section .is-complete .project-current-label small { color:var(--project-accent); }
.projects-section .is-complete .project-state,.projects-section .is-complete .project-detail-head>b { color:var(--project-accent);border-color:rgba(138,200,163,.16);background:rgba(138,200,163,.06); }
.file-results { position:relative;z-index:1;flex:0 1 auto;min-height:0;max-height:293px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none;margin:0 -6px;padding:7px 6px 9px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:rgba(255,255,255,.012);transition:transform .58s cubic-bezier(.22,1,.36,1),opacity .32s ease;will-change:transform,opacity; }
.files-section.file-preview-open .file-results { opacity:0;transform:translate3d(0,-112px,0);pointer-events:none; }
.file-results::-webkit-scrollbar { display:none; }
.files-section .file-results { flex:0 1 auto;max-height:none; }
.file-list { border-top:0;padding-bottom:0;display:grid;gap:7px; }
.file-list>.file-card { position:relative;min-height:64px;padding:8px 10px;border:1px solid rgba(255,255,255,.085);border-radius:14px;background:var(--tile-surface);grid-template-columns:38px minmax(0,1fr) auto;gap:10px;overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.file-list>.file-card::after { content:"";position:absolute;inset:7px auto 7px 0;width:2px;border-radius:0 2px 2px 0;background:var(--file-accent,var(--pink));opacity:0;transform:scaleY(.25);transition:opacity .18s ease,transform .28s cubic-bezier(.22,1,.36,1); }
.file-list>.file-card.is-active::after { opacity:.82;transform:scaleY(1); }
.file-list>.file-card:active { transform:scale(.985);border-color:color-mix(in srgb,var(--file-accent,var(--pink)) 42%,var(--line));background:linear-gradient(105deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); }
.file-list>.file-card[data-file-kind="audio"] { --file-accent:var(--pink); }
.file-list>.file-card[data-file-kind="video"] { --file-accent:var(--violet); }
.file-list>.file-card[data-file-kind="image"] { --file-accent:#72a6d8; }
.file-list>.file-card[data-file-kind="archive"] { --file-accent:var(--green); }
.file-list>.file-card>.file-format-mark { width:38px;height:38px;margin:0;align-self:center;border:1px solid color-mix(in srgb,var(--file-accent) 24%,transparent);border-radius:10px;background:color-mix(in srgb,var(--file-accent) 5%,transparent);color:var(--file-accent);font-size:7px;font-style:normal;font-weight:700;letter-spacing:.055em;display:grid;place-items:center; }
.file-format-mark svg { width:18px;height:18px; }
.file-list>.file-card>.file-card-copy { min-width:0; }
.file-list>.file-card>.file-card-copy strong { font-size:11px;font-weight:600;letter-spacing:-.005em; }
.file-list>.file-card>.file-card-copy small { margin-top:4px;font-size:8px; }
.file-list>.file-card>.file-card-copy .file-added-date { margin-top:2px;color:rgba(217,216,224,.48);font-size:8px;font-variant-numeric:tabular-nums; }
.file-list>article.file-card { display:grid;width:100%;height:64px;min-height:64px;align-items:center;text-align:left;color:var(--text);cursor:pointer; }
.file-list>article.file-card .file-card-copy strong,.file-list>article.file-card .file-card-copy small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.file-card-side { display:flex;align-items:center;justify-content:flex-end;gap:6px; }
.file-card-side>b { min-width:48px;padding:4px 7px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(0,0,0,.18);color:var(--muted);font-size:8px;font-weight:500;text-align:center; }
.file-card-side>button { flex:0 0 28px;width:28px;height:28px;padding:6px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:9px;background:rgba(var(--accent-rgb),.03);color:var(--pink);display:grid;place-items:center;cursor:pointer; }
.file-card-side>button svg { width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
[data-hold-id],.file-card,.file-card *,.project-card,.project-card * { -webkit-touch-callout:none;-webkit-user-select:none;user-select:none; }
.hold-delete-button { display:none;position:absolute;top:3px;right:3px;width:36px;height:36px;z-index:5;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;align-items:center;justify-content:center;box-shadow:none; }
.hold-delete-button::before { content:"";position:absolute;inset:4px;border:1px solid var(--line);border-radius:8px;pointer-events:none; }
.hold-delete-button svg { width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;pointer-events:none; }
.is-delete-ready>.hold-delete-button { display:flex; }
.is-delete-ready { outline:1px solid #bc819980;outline-offset:-1px; }
.is-delete-ready .project-card-head,.is-delete-ready .file-card-side { padding-right:32px; }
.hold-delete-button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.file-card-side>.hold-delete-button { display:none;position:relative;top:auto;right:auto;flex:0 0 28px;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted); }
.file-card-side>.hold-delete-button::before { inset:0; }
.file-card.is-delete-ready .file-card-side { padding-right:0;max-width:none; }
.file-card.is-delete-ready .file-card-side>.hold-delete-button { display:flex; }
.file-delete-dialog .delete-file-name { font-weight:500;color:var(--text);overflow-wrap:anywhere; }
.file-delete-dialog p { font-size:14px;line-height:1.5;color:var(--muted); }
.file-delete-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:18px; }
.file-delete-actions>button { flex:1;min-height:44px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);padding:10px;cursor:pointer; }
.file-delete-actions>.session-submit { background:var(--pink);color:#151015;margin:0; }
.file-delete-actions>button:disabled { opacity:.5;cursor:wait; }
.record-delete-link { border:0;background:transparent;color:#dca0ad;font:inherit;font-size:12px;padding:10px 0;cursor:pointer;text-align:left; }
.session-card-actions>.record-delete-link { color:#dca0ad;border-color:rgba(220,160,173,.2); }
.file-empty { margin:0;padding:27px 4px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;text-align:center; }
.files-section>.inline-chat { z-index:20;transition:transform .44s cubic-bezier(.22,1,.36,1),opacity .3s ease; }
.files-section>.inline-chat.is-file-hidden { transform:translateY(calc(100% + 38px));opacity:0;pointer-events:none; }
.file-player { position:absolute;z-index:21;left:14px;right:14px;bottom:calc(62px + env(safe-area-inset-bottom));height:132px;padding:11px 13px 10px;border:1px solid rgba(255,255,255,.11);border-radius:19px;background:#0d0f14;box-shadow:none;opacity:0;overflow:hidden;transform:translateY(calc(100% + 40px));pointer-events:none;transition:height .58s cubic-bezier(.22,1,.36,1),bottom .58s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1),opacity .3s ease; }
.file-player[hidden] { display:block;visibility:hidden; }
.file-player.is-visible { opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible; }
.file-player.is-idle .file-player-close { visibility:hidden; }
.file-player.is-idle .file-player-controls,.file-player.is-idle .file-player-timeline { opacity:.35; }
.file-player.is-idle button,.file-player.is-idle input { cursor:default; }
.files-section>.file-player,.files-section>.file-player.is-media.is-expanded { bottom:calc(18px + env(safe-area-inset-bottom)); }
.files-section.file-player-open:not(.file-preview-open)::before { content:"";position:absolute;z-index:20;left:0;right:0;bottom:0;height:calc(171px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--bg) 10px);pointer-events:none; }
.files-section.file-player-open .files-scroll-content { padding-bottom:0; }
.files-section.file-player-open .files-list-scroll { padding-bottom:calc(166px + env(safe-area-inset-bottom)); }
.files-scroll-content>.hub-tools,.files-scroll-content>.section-kicker,.files-scroll-content>.section-note,.files-scroll-content>.file-search-box { flex-shrink:0; }
.file-player.is-media.is-expanded { bottom:calc(40px + env(safe-area-inset-bottom)); }
.file-player.is-media.is-expanded[data-kind="image"] { height:390px; }
.file-player.is-media.is-expanded[data-kind="video"] { height:448px; }
.file-player-head { height:38px;display:grid;grid-template-columns:32px minmax(0,1fr) 30px 25px;gap:9px;align-items:center; }
.file-player-feedback { width:30px;height:30px;padding:5px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:9px;background:rgba(var(--accent-rgb),.03);color:#d49bab;cursor:pointer;display:grid;place-items:center; }
.file-player-feedback svg { width:18px;height:18px; }
.file-player-feedback:hover { border-color:rgba(var(--accent-rgb),.5);color:#f2b4c5; }
.file-player-feedback:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.file-player:not([data-kind="audio"]) .file-player-feedback { visibility:hidden;pointer-events:none; }
.file-player-format { width:32px;height:32px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:9px;background:rgba(var(--accent-rgb),.05);color:var(--pink);display:grid;place-items:center;font-size:6px;font-weight:700;letter-spacing:.06em; }
.file-player-format svg { width:17px;height:17px; }
.file-player-copy { min-width:0; }
.file-player-copy strong,.file-player-copy small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.file-player-copy strong { font-size:10px;font-weight:600; }
.file-player-copy small { margin-top:3px;color:var(--muted);font-size:7px; }
.file-player-close { width:25px;height:25px;border:0;border-radius:50%;background:rgba(255,255,255,.045);color:var(--muted);display:grid;place-items:center;font-size:16px;line-height:1;cursor:pointer; }
.file-media-preview { height:0;margin:0;opacity:0;overflow:hidden;transform:translate3d(0,12px,0);transition:height .58s cubic-bezier(.22,1,.36,1),margin .58s cubic-bezier(.22,1,.36,1),opacity .3s ease .12s,transform .5s cubic-bezier(.22,1,.36,1) .08s; }
.file-player.is-expanded .file-media-preview { margin:9px 0 8px;opacity:1;transform:translate3d(0,0,0); }
.file-player.is-expanded[data-kind="image"] .file-media-preview { height:271px; }
.file-player.is-expanded[data-kind="video"] .file-media-preview { height:256px; }
.files-section { --media-room:calc(var(--preview-height) - var(--media-preview-top,280px) - 18px - env(safe-area-inset-bottom)); }
.files-section .file-media-preview { transition:height .58s cubic-bezier(.22,1,.36,1),margin .58s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .58s cubic-bezier(.22,1,.36,1); }
.files-section>.file-player.is-media.is-expanded[data-kind="image"] { height:min(390px,var(--media-room)); }
.files-section>.file-player.is-media.is-expanded[data-kind="video"] { height:min(448px,var(--media-room)); }
.files-section>.file-player.is-expanded[data-kind="image"] .file-media-preview { height:max(0px,min(271px,calc(var(--media-room) - 119px))); }
.files-section>.file-player.is-expanded[data-kind="video"] .file-media-preview { height:max(0px,min(256px,calc(var(--media-room) - 192px))); }
.file-media-canvas { position:relative;width:100%;height:100%;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#0a0c11;display:grid;place-items:center;overflow:hidden; }
.file-media-label { position:absolute;left:11px;top:10px;color:var(--muted);font-size:7px;letter-spacing:.12em;text-transform:uppercase; }
.file-media-extension { color:rgba(255,255,255,.14);font-family:"General Sans",system-ui,sans-serif;font-size:82px;font-weight:400;letter-spacing:-.04em; }
.file-media-play { position:absolute;width:52px;height:52px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(17,19,25,.82);color:var(--text);display:grid;place-items:center;padding:0;box-shadow:none;cursor:pointer; }
.file-media-play span { font-size:15px;transform:translateX(1px); }
.file-player[data-kind="image"] .file-media-play,
.file-player[data-kind="image"] .file-player-timeline,
.file-player[data-kind="image"] .file-player-controls { display:none; }
.file-player-timeline { margin:7px 0 2px; }
.file-player-timeline input { width:100%;height:12px;margin:0;display:block;appearance:none;background:transparent;cursor:pointer; }
.file-player-timeline input::-webkit-slider-runnable-track { height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pink) 0 var(--player-progress,0%),rgba(255,255,255,.14) var(--player-progress,0%) 100%); }
.file-player-timeline input::-webkit-slider-thumb { width:8px;height:8px;margin-top:-3px;border:0;border-radius:50%;appearance:none;background:var(--pink);box-shadow:none; }
.file-player-timeline input::-moz-range-track { height:2px;border:0;border-radius:2px;background:rgba(255,255,255,.14); }
.file-player-timeline input::-moz-range-progress { height:2px;background:var(--pink); }
.file-player-timeline input::-moz-range-thumb { width:8px;height:8px;border:0;border-radius:50%;background:var(--pink); }
.file-player-timeline>span { display:flex;justify-content:space-between;color:var(--muted); }
.file-player-timeline b { font-size:6px;font-weight:500;font-variant-numeric:tabular-nums; }
.file-player-controls,.song-feedback-transport { height:38px;display:flex;align-items:center;justify-content:center;gap:22px; }
.file-player-volume { display:none; }
.file-player-controls>button,.song-feedback-transport>button { width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--muted);font-size:16px;display:grid;grid-template-columns:1fr;place-items:center;position:relative;cursor:pointer; }
.file-player-controls>button[data-file-player-skip] svg,.song-feedback-transport>button[data-feedback-skip] svg { width:26px;height:26px;pointer-events:none; }
.file-player-controls>button[data-file-player-skip] text,.song-feedback-transport>button[data-feedback-skip] text { fill:currentColor;stroke:none;font-size:9.5px;font-weight:600;font-variant-numeric:tabular-nums; }
.file-player-controls>.file-player-play,.song-feedback-transport>.file-player-play { width:38px;height:38px;border-radius:50%;background:var(--pink);color:#fff;box-shadow:none; }
.song-feedback-dialog { width:min(440px,calc(100vw - 48px));max-width:none;height:min(620px,calc(100dvh - 54px));max-height:none;padding:0;border:1px solid rgba(180,156,168,.17);border-radius:20px;background:linear-gradient(145deg,rgb(12,11,14),rgb(7,7,9));color:#e8e3e7;box-shadow:0 28px 80px rgba(0,0,0,.7);font:inherit;overflow:hidden; }
.song-feedback-dialog::backdrop { background:rgba(0,0,0,.73); }
.song-feedback-head { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 15px;border-bottom:1px solid rgba(255,255,255,.08); }
.song-feedback-head>span { display:grid;gap:5px;min-width:0; }
.song-feedback-head small { color:#e388a4;font-size:10px;letter-spacing:.15em; }
.song-feedback-head strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:500; }
.song-feedback-head button { width:32px;height:32px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:transparent;color:#bcb5bc;font-size:20px;cursor:pointer; }
.song-feedback-scroll { box-sizing:border-box;height:calc(100% - 73px);overflow:auto;padding:16px;overscroll-behavior:contain; }
.song-feedback-wave { position:relative;height:62px;display:flex;align-items:center;overflow:visible;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(var(--accent-rgb),.018));cursor:crosshair;touch-action:manipulation; }
.song-feedback-wave:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.song-feedback-bars { position:absolute;inset:9px 10px;display:flex;gap:2px;align-items:center;justify-content:space-between;pointer-events:none; }
.song-feedback-bars i { flex:1;min-width:1px;max-width:5px;border-radius:4px;background:rgba(222,153,178,.33); }
.song-feedback-playhead { position:absolute;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.62);pointer-events:none; }
.song-feedback-marker { position:absolute;z-index:1;top:50%;width:14px;height:14px;padding:0;border:2px solid #f1a0b6;border-radius:50%;background:#ef7091;box-shadow:0 0 0 4px rgba(18,14,17,.85);transform:translate(-50%,-50%);cursor:pointer; }
.song-feedback-marker.is-done { border-color:#8da998;background:#6a9479; }
.song-feedback-times { display:flex;align-items:center;justify-content:space-between;margin:7px 2px 5px;color:#a8a0a8;font-size:12px;font-variant-numeric:tabular-nums; }
.song-feedback-times [data-feedback-current] { color:#e6b0c0; }
.song-feedback-transport { margin:0 0 13px; }
.song-feedback-transport>button svg { display:block;flex:none; }
.song-feedback-transport>.song-feedback-play svg { width:19px;height:19px; }
.song-feedback-play[data-playing="false"] .song-feedback-icon-pause,.song-feedback-play[data-playing="true"] .song-feedback-icon-play { display:none; }
.song-feedback-transport button:hover:not(:disabled),.song-feedback-transport button:focus-visible { color:#f1bbca; }
.song-feedback-transport .song-feedback-play:hover:not(:disabled),.song-feedback-transport .song-feedback-play:focus-visible { color:#fff; }
.song-feedback-transport button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.song-feedback-transport button:disabled { opacity:.38;cursor:default; }
.song-feedback-form { display:grid;gap:10px;padding:14px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:14px;background:rgba(var(--accent-rgb),.025); }
.song-feedback-form-time { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.song-feedback-form .song-feedback-form-time button { min-height:0;padding:4px 7px;border:0;background:transparent;color:#a996a0;font:inherit;font-size:11px;cursor:pointer; }
.song-feedback-form label,.song-feedback-card label { color:#c4b4be;font-size:13px; }
.song-feedback-form [data-feedback-selected] { color:#f2a4bc;font-variant-numeric:tabular-nums; }
.song-feedback-form textarea,.song-feedback-card textarea,.song-feedback-card input { box-sizing:border-box;width:100%;resize:vertical;padding:11px 12px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#171619;color:#f0eaf0;font:inherit;font-size:16px;line-height:1.4; }
.song-feedback-form textarea:focus,.song-feedback-card textarea:focus,.song-feedback-card input:focus { outline:1px solid var(--focus-line);border-color:var(--focus-line); }
.song-feedback-form button { justify-self:end;min-height:35px;padding:7px 13px;border:1px solid rgba(var(--accent-rgb),.36);border-radius:9px;background:rgba(var(--accent-rgb),.1);color:#f3b3c6;font:inherit;font-size:12px;cursor:pointer; }
.song-feedback-form button:disabled,.song-feedback-actions button:disabled { opacity:.45;cursor:wait; }
.song-feedback-error { min-height:14px;margin:5px 0;color:#f199a9;font-size:12px; }
.song-feedback-list-head { display:flex;justify-content:space-between;gap:10px;margin:8px 0 9px;color:#ded4dc;font-size:13px; }
.song-feedback-list-head small { color:#8e8790;font-size:11px; }
.song-feedback-empty { padding:24px 8px;color:#938b93;text-align:center;font-size:13px; }
.song-feedback-card { margin-bottom:8px;padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.023); }
.song-feedback-card-head { display:flex;align-items:center;gap:9px;color:#a99fa8;font-size:11px; }
.song-feedback-card-head>span { flex:1; }
.song-feedback-card-head small { color:#bfaeb9;font-size:10px; }
.song-feedback-card-head small.is-accepted { color:#dba7ba; }
.song-feedback-card-head small.is-done { color:#9cc4aa; }
.song-feedback-time { padding:3px 6px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:6px;background:rgba(var(--accent-rgb),.055);color:#f0a4bb;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer; }
.song-feedback-card p { margin:10px 0 0;color:#ded7dd;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.song-feedback-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:10px; }
.song-feedback-actions button { padding:6px 10px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:7px;background:transparent;color:#e5abc0;font:inherit;font-size:11px;cursor:pointer; }
.song-feedback-delete-confirm { align-self:center;margin-right:auto;color:#c3afb8;font-size:11px; }
.song-feedback-actions button.is-danger { border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.1);color:#f1a9bc; }
.song-feedback-card.is-editing { display:grid;gap:10px; }
.song-feedback-card.is-editing label { display:grid;gap:6px; }
.song-feedback-card.is-editing input { max-width:110px;font-variant-numeric:tabular-nums; }
.song-feedback-toggle-done { display:block;width:100%;margin-top:5px;padding:9px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:transparent;color:#aaa0a8;font:inherit;font-size:12px;cursor:pointer; }
@media (max-width:420px) { .song-feedback-head { padding:15px 16px 13px; }.song-feedback-scroll { padding:16px; }.song-feedback-list-head { flex-wrap:wrap; } }
.file-player-play span { font-size:18px;line-height:1;transform:translateX(1px); }
.project-picker-scrim { position:absolute;z-index:30;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(4px);animation:fadeIn .24s ease both; }
.project-picker { position:absolute;z-index:31;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-height:70%;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(9,10,13,.94);box-shadow:0 24px 70px rgba(0,0,0,.55);animation:projectPickerIn .42s cubic-bezier(.16,1,.3,1) both; }
.project-picker-head { display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:12px;align-items:start;padding:1px 1px 12px; }
.project-picker-head span { min-width:0; }
.project-picker-head small,.project-picker-head strong { display:block; }
.project-picker-head small { color:var(--pink);font-size:7px;letter-spacing:.12em;text-transform:uppercase; }
.project-picker-head strong { margin-top:5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.project-picker-head>button { width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:16px;display:grid;place-items:center;cursor:pointer; }
.project-picker-list { max-height:390px;overflow-y:auto;display:grid;gap:6px;scrollbar-width:none; }
.project-picker-list::-webkit-scrollbar { display:none; }
.project-picker-list>button { width:100%;min-height:48px;padding:8px 11px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025);color:var(--text);display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer; }
.project-picker-list strong,.project-picker-list small { display:block; }
.project-picker-list strong { font-size:10px; }
.project-picker-list small { margin-top:3px;color:var(--muted);font-size:7px; }
.project-picker-list b { color:var(--muted);font-size:13px; }
.project-picker-list>button.is-selected { border-color:rgba(var(--accent-rgb),.38);background:var(--pink-soft); }
.project-picker-list>button.is-selected b { color:var(--pink); }
.project-picker-list>.project-picker-remove strong { color:var(--muted);font-weight:500; }

/* A quick top-to-bottom entrance only when opening a page, not on every data refresh. */
.page-entering :is(
  .section-kicker,.section-note,.file-search-box,.file-filter-panel,.file-card,.file-empty,
  .document-card,.lyrics-file-select,.lyrics-youtube-form,.lyrics-section-builder,.lyrics-paper,
  .sessions-heading,.offers-intro,.offer-card,.offer-empty,.offer-studio-picker,
  .session-artist-filter,.session-month,.calendar-view-switch,.session-large-day,
  .artists-description,.artists-list-heading,.artist-directory-card,.artists-empty,
  .profile-identity,.studio-code-strip,.payment-setup-card,.connection-card
) {
  animation:pageContentEnter .42s cubic-bezier(.22,.8,.25,1) both;
  animation-delay:calc(var(--page-entry-delay,0s) - var(--page-entry-elapsed,0s));
}
.page-entering :is(.section-kicker,.sessions-heading) { --page-entry-delay:.02s; }
.page-entering :is(.section-note,.artists-description,.profile-identity) { --page-entry-delay:.07s; }
.page-entering :is(.file-search-box,.lyrics-file-select,.offers-intro,.session-artist-filter,.artists-list-heading,.studio-code-strip) { --page-entry-delay:.12s; }
.page-entering :is(.file-filter-panel,.lyrics-youtube-form,.session-month,.offer-studio-picker,.payment-setup-card) { --page-entry-delay:.17s; }
.page-entering :is(.calendar-view-switch,.lyrics-section-builder,.connection-card) { --page-entry-delay:.21s; }
.page-entering :is(.file-card,.document-card,.lyrics-paper,.offer-card,.session-large-day,.artist-directory-card,.file-empty,.offer-empty,.artists-empty) { --page-entry-delay:.24s; }
.page-entering :is(.file-card,.document-card,.lyrics-paper,.offer-card,.session-large-day,.artist-directory-card):nth-child(2) { --page-entry-delay:.28s; }
.page-entering :is(.file-card,.document-card,.lyrics-paper,.offer-card,.session-large-day,.artist-directory-card):nth-child(3) { --page-entry-delay:.32s; }
.page-entering :is(.file-card,.document-card,.lyrics-paper,.offer-card,.session-large-day,.artist-directory-card):nth-child(4) { --page-entry-delay:.36s; }
.page-entering :is(.file-card,.document-card,.lyrics-paper,.offer-card,.session-large-day,.artist-directory-card):nth-child(n+5) { --page-entry-delay:.40s; }
.page-entering .sessions-heading .section-kicker { animation:none; }

/* Persistent artist-to-studio chat */
.inline-chat { position:absolute;z-index:12;left:18px;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));height:40px;display:flex;flex-direction:column;transition:height .68s cubic-bezier(.22,1,.36,1); }
.inline-chat.with-history { height:188px; }
.inline-chat.with-history::before { content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:92px;background:linear-gradient(to bottom,var(--bg) 0%,rgba(3,3,4,.86) 24%,rgba(3,3,4,.32) 64%,transparent 100%);pointer-events:none; }
.hub-shell:not(.orbit-settled)>.inline-chat .inline-compose { animation:inlineChatItemEnter .76s cubic-bezier(.22,1,.36,1) both; }
.inline-chat.is-opening .inline-message { animation:chatPreviewMessageIn .7s cubic-bezier(.22,1,.36,1) both; }
.hub-shell.chat-measuring>.inline-chat .inline-message,
.hub-shell.chat-measuring>.inline-chat .inline-compose { animation:none!important; }
.hub-shell:not(.orbit-settled)>.inline-chat .inline-compose { animation-delay:calc(.80s - var(--sakura-intro-elapsed,0ms)); }
.inline-chat.is-opening .inline-message:nth-child(1) { animation-delay:.02s; }
.inline-chat.is-opening .inline-message:nth-child(2) { animation-delay:.08s; }
.inline-chat.is-opening .inline-message:nth-child(3) { animation-delay:.14s; }
.inline-chat.is-opening .inline-message:nth-child(4) { animation-delay:.20s; }
.inline-thread { height:0;min-height:0;flex:0 0 0;opacity:0;overflow:hidden;overscroll-behavior:contain;scrollbar-width:none;display:flex;flex-direction:column;gap:6px;padding:0 5px;pointer-events:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:opacity .35s ease,padding .58s cubic-bezier(.22,1,.36,1); }
.with-history .inline-thread { flex:1 1 auto;height:auto;opacity:1;overflow-x:hidden;overflow-y:auto;padding:14px 5px 10px;pointer-events:auto; }
.inline-thread::-webkit-scrollbar { display:none; }
.inline-thread::before { content:"";flex:1 0 26px; }
.inline-message { flex:0 0 auto;width:fit-content;max-width:76%;margin:0;padding:7px 10px;border-radius:13px;font-size:9px;line-height:1.35;opacity:.9;box-shadow:0 7px 22px rgba(0,0,0,.15); }
.inline-message.studio { align-self:flex-start;background:rgba(32,36,45,.82);color:rgba(245,242,234,.86);border-bottom-left-radius:4px; }
.inline-message.artist { align-self:flex-end;background:rgba(var(--accent-rgb),.22);color:rgba(255,255,255,.9);border:1px solid rgba(var(--accent-rgb),.14);border-bottom-right-radius:4px; }
.inline-compose { height:40px;flex:0 0 40px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 48%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:grid;grid-template-columns:18px minmax(0,1fr) 22px;align-items:center;gap:9px;padding:0 9px 0 13px;box-shadow:0 12px 30px rgba(0,0,0,.16);transition:border-color .22s ease,background .22s ease; }
.inline-compose svg { width:15px;height:15px;fill:none;stroke:var(--pink);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round; }
.inline-compose input { min-width:0;width:100%;height:20px;line-height:20px;align-self:center;border:0;outline:0;background:transparent;color:var(--text);padding:0;font-size:16px; }
.inline-compose input::placeholder { color:var(--muted);opacity:.58;font-size:10px;line-height:20px; }
.assistant-compose input::placeholder { color:#d8d4db;opacity:1; }
.inline-compose button { width:22px;height:22px;border:0;border-radius:50%;background:var(--pink-soft);color:var(--pink);display:grid;place-items:center;padding:0;font-size:11px;font-weight:500;cursor:pointer; }
.direct-chat-dock { height:44px; }
.hub-shell>.direct-chat-dock.is-expanded { z-index:48;height:min(520px,calc(100% - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); }
.direct-chat-dock { transition:height .34s cubic-bezier(.22,1,.36,1); }
.direct-chat-dock.is-collapsing { z-index:48; }
.direct-chat-dock.is-expanded>.direct-chat-dock-button { opacity:0;pointer-events:none; }
.direct-chat-panel>:not(.direct-chat-compose) { transition:opacity .18s ease; }
.direct-chat-dock.is-opening .direct-chat-panel>:not(.direct-chat-compose) { opacity:0;pointer-events:none; }
.hub-shell>.direct-chat-dock .direct-chat-compose,
.hub-shell>.direct-chat-dock>.direct-chat-dock-button { animation:none!important; }
.direct-chat-dock.is-collapsing>.direct-chat-dock-button { opacity:0;pointer-events:none; }
.direct-chat-dock.is-collapsing .direct-chat-panel { opacity:1;pointer-events:none; }
.direct-chat-dock.is-collapsing .direct-chat-panel>:not(.direct-chat-compose) { display:none; }
.direct-chat-compose { margin-top:auto;flex:none;height:44px;min-height:44px;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none; }
.direct-chat-compose input::placeholder { color:#d8d4db;opacity:1;font-size:14px; }
.direct-chat-compose button { width:26px;height:26px;font-size:16px; }
.direct-chat-compose button:disabled { opacity:.4;cursor:wait; }
@media (min-width:1024px) { .direct-chat-compose { height:52px;min-height:52px; }.direct-chat-compose button { width:30px;height:30px;font-size:18px; } }
@media (prefers-reduced-motion:reduce) { .direct-chat-dock,.direct-chat-panel,.direct-chat-dock .direct-chat-dock-button { transition:none; }.direct-chat-scrim,.direct-chat-scrim.is-closing { animation:none; } }
.direct-chat-dock .direct-chat-dock-button { position:absolute;z-index:2;bottom:0;left:0;width:100%;height:44px;min-height:44px;text-align:left;color:var(--text);font:inherit;cursor:pointer;transition:border-color .22s ease,background .22s ease; }
.direct-chat-dock .direct-chat-dock-button:hover { border-color:rgba(var(--accent-rgb),.42);background:color-mix(in srgb,var(--surface) 58%,transparent); }
.direct-chat-dock .direct-chat-dock-button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.direct-chat-dock-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8d4db;font-size:14px; }
.direct-chat-dock-action { display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--pink-soft);color:var(--pink);font-size:14px;line-height:1; }
.direct-chat-dock-button b { position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid var(--bg);border-radius:10px;background:#f0445f;color:#fff;font-size:10px;line-height:1;font-weight:700;box-shadow:0 3px 10px rgba(240,68,95,.35); }
.assistant-compose [data-assistant-record] { background:none;width:18px; }
.assistant-input { min-width:0;position:relative;display:flex;align-items:center;height:24px; }
.assistant-input.is-recording input { visibility:hidden; }
.assistant-waveform { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;overflow:hidden; }
.assistant-waveform i { display:block;width:2px;height:3px;flex:0 0 2px;border-radius:2px;background:var(--pink);opacity:.72;transition:height 70ms linear; }
@media (prefers-reduced-motion:reduce) { .assistant-waveform i { transition:none; } }
.assistant-compose button:disabled { opacity:.45;cursor:wait; }
.inline-message { white-space:pre-wrap; }
.assistant-proposal p { margin:0 0 8px; }
.assistant-proposal>div { display:flex;gap:8px; }
.assistant-proposal button { border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);padding:5px 8px;font:inherit;cursor:pointer; }
.assistant-proposal [data-assistant-confirm] { color:var(--pink);border-color:var(--pink-soft); }

/* The same faded chat expands upward and gradually covers the orbit */
.chat-expanded .hub-map { animation:orbitGhostAway .72s cubic-bezier(.4,0,.2,1) both; }
.chat-expanded>.hub-tools { animation:orbitFadeAway .72s cubic-bezier(.4,0,.2,1) both; }
.chat-returning .hub-map { animation:orbitGhostReturn .82s cubic-bezier(.4,0,.2,1) both; }
.chat-returning>.hub-tools { animation:orbitFadeReturn .82s cubic-bezier(.4,0,.2,1) both; }
.chat-expanded>.inline-chat.with-history { z-index:31;animation:inlineChatExpand .72s cubic-bezier(.22,1,.36,1) both; }
.chat-expanded>.inline-chat.with-history::before { animation:chatShadeAway .72s cubic-bezier(.22,1,.36,1) both; }
.chat-expanded.chat-returning>.inline-chat.with-history { animation:inlineChatCollapse .82s cubic-bezier(.4,0,.2,1) both; }
.chat-expanded.chat-returning>.inline-chat.with-history::before { animation:chatShadeReturn .82s cubic-bezier(.4,0,.2,1) both; }
.chat-expanded>.inline-chat .inline-thread { padding-top:calc(58px + env(safe-area-inset-top)); }
.full-chat { position:absolute;z-index:30;inset:0;background:rgba(3,3,4,.78);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);transform-origin:50% 100%;will-change:clip-path;animation:fullChatReveal .72s cubic-bezier(.22,1,.36,1) both; }
.full-chat.is-closing { animation:fullChatHide .82s cubic-bezier(.4,0,.2,1) both; }
.full-chat-close { position:absolute;z-index:32;top:calc(14px + env(safe-area-inset-top));right:18px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:rgba(8,8,8,.72);color:var(--muted);font-size:19px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:chatCloseIn .32s ease .34s both; }
.chat-returning>.full-chat-close { animation:chatCloseOut .2s ease both;pointer-events:none; }

/* Lyrics writing room */
.lyrics-section { padding-bottom:calc(24px + env(safe-area-inset-bottom)); }.lyrics-player { min-height:64px;border:1px solid var(--line);border-radius:16px;background:var(--tile-surface);display:grid;grid-template-columns:42px 1fr 82px;gap:10px;align-items:center;padding:10px;margin-bottom:11px; }.lyrics-player>button{width:42px;height:42px;border:0;border-radius:50%;background:var(--pink);color:#fff;cursor:pointer}.lyrics-player strong,.lyrics-player small{display:block}.lyrics-player strong{font-size:11px}.lyrics-player small{font-size:8px;color:var(--muted);margin-top:3px}.lyrics-wave{height:30px;display:flex;align-items:center;justify-content:flex-end;gap:4px}.lyrics-wave i{display:block;width:2px;height:9px;background:var(--pink);border-radius:2px}.lyrics-wave i:nth-child(2),.lyrics-wave i:nth-child(5){height:20px}.lyrics-wave i:nth-child(3){height:27px}.lyrics-wave i:nth-child(4){height:14px}
.lyrics-parts { display:grid;gap:10px; }
.lyrics-paper { position:relative;isolation:isolate;min-height:238px;overflow:hidden;border:1px solid var(--line);background:var(--tile-surface);border-radius:16px;padding:14px; }
.lyrics-paper > * { position:relative;z-index:1; }
.lyrics-paper-head { display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px; }
.lyrics-paper-head span { font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--pink); }
.lyrics-paper-head small { font-size:8px;color:var(--muted); }
.lyrics-paper-head button { width:24px;height:24px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.025);color:var(--muted);font-size:16px;line-height:1;display:grid;place-items:center;cursor:pointer; }
.lyrics-paper textarea { width:100%;height:178px;resize:none;border:0;outline:0;background:transparent;color:var(--text);font-family:inherit;font-size:17px;line-height:1.65;font-weight:400;padding:14px 2px 4px; }
.lyrics-paper textarea::placeholder { color:var(--muted);opacity:.45; }
.lyrics-section-builder { margin:0 0 11px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.lyrics-section-builder>span { display:block;margin:0 0 8px;color:var(--muted);font-size:8px;letter-spacing:.1em;text-transform:uppercase; }
.lyrics-section-builder>div { display:flex;gap:6px;overflow-x:auto;padding:0 1px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch; }
.lyrics-section-builder>div::-webkit-scrollbar { display:none; }
.lyrics-section-builder button { flex:0 0 auto;height:29px;padding:0 10px;border:1px solid rgba(255,255,255,.075);border-radius:7px;background:rgba(255,255,255,.018);color:var(--muted);font-family:inherit;font-size:9px;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease; }
.lyrics-section-builder button:active { transform:scale(.96);border-color:rgba(var(--accent-rgb),.32);color:var(--text);background:rgba(var(--accent-rgb),.05); }
[data-lyrics-status] { color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere; }
.lyrics-section>.section-kicker { margin-bottom:20px; }
.lyrics-file-select { width:100%;min-height:58px;padding:10px 12px;display:grid;grid-template-columns:21px minmax(0,1fr) 14px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;background:var(--tile-surface);color:var(--text);text-align:left;cursor:pointer; }
.lyrics-file-select svg,.lyrics-youtube-form svg { width:20px;height:20px;fill:none;stroke:var(--pink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round; }
.lyrics-file-select strong { display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere; }
.lyrics-file-select small { display:block;font-size:9px;line-height:1.4;margin-top:4px;color:var(--muted); }
.lyrics-file-select .lyrics-file-chevron { display:block;width:14px;height:14px;align-self:center;justify-self:center;stroke:var(--muted);stroke-width:1.5; }
.lyrics-youtube-form { margin:9px 0 13px;height:38px;display:grid;grid-template-columns:18px minmax(0,1fr) 26px;align-items:center;gap:9px;padding:0 8px 0 12px;border:1px solid var(--line);border-radius:11px;background:#0c0e12; }
.lyrics-youtube-form svg { width:18px;height:18px;stroke:var(--muted); }
.lyrics-youtube-form input { min-width:0;width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text);font-family:inherit;font-size:16px; }
.lyrics-youtube-form input::placeholder { color:var(--muted);font-size:12px; }
.lyrics-youtube-form button { border:0;background:transparent;color:var(--pink);font-size:20px;cursor:pointer; }
.lyrics-youtube-form:focus-within { border-color:var(--focus-line); }
.lyrics-link-error { color:var(--pink);font-size:12px;line-height:1.4; }
.lyrics-youtube-player { aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#000; }
.lyrics-youtube-player iframe { width:100%;height:100%;border:0;display:block; }
.lyrics-youtube-slot:not(:empty) { margin-bottom:14px; }
.lyrics-youtube-tools { display:flex;justify-content:space-between;align-items:center;padding:0 0 8px; }
.lyrics-youtube-tools a,.lyrics-youtube-tools button { font:inherit;font-size:10px;color:var(--muted);background:transparent;border:0;text-decoration:none;cursor:pointer; }
.lyrics-youtube-tools [data-lyrics-youtube-close] { min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:10px;color:var(--pink);font-size:12px; }
.lyrics-library-dialog { width:calc(100% - 36px);max-width:354px;max-height:75dvh;overflow-y:auto;margin:auto;padding:20px 16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(9,10,13,.94);color:var(--text); }
.lyrics-library-dialog::backdrop { background:#000b;backdrop-filter:blur(5px); }
.lyrics-songs-dialog { width:min(430px,calc(100vw - 36px));max-width:calc(100vw - 36px);max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;margin:auto;padding:22px 18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(9,10,13,.94);color:var(--text); }
.lyrics-songs-dialog::backdrop { background:#000b;backdrop-filter:blur(5px); }
.lyrics-songs-dialog input { width:100%;min-width:0;height:42px;margin:9px 0 15px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff04;color:var(--text);font:inherit;font-size:16px; }
.lyrics-songs-dialog label,.song-save-note,[data-song-directory-status] { font-size:12px;color:var(--muted);line-height:1.6; }
[data-song-save-error] { color:var(--pink);font-size:12px; }
.lyrics-song-actions { display:flex;gap:8px;align-items:center; }
.lyrics-song-actions button[data-finish-lyric-song] { color:var(--pink);border-color:var(--pink); }
.lyrics-song-actions button:disabled { opacity:.4;cursor:default; }
.lyrics-library-search { width:100%;min-width:0;height:39px;padding:0 10px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:#090b10;color:var(--text);font-family:inherit;font-size:16px; }
.lyrics-library-items { display:grid;gap:6px; }
.lyrics-library-items button { width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--tile-surface);color:var(--text);text-align:left;cursor:pointer; }
.lyrics-library-items strong { display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere; }
.lyrics-library-items small { display:block;font-size:10px;color:var(--muted);margin-top:5px; }
.lyrics-library-items button:disabled { opacity:.4;cursor:default; }
.lyrics-library-empty { color:var(--muted);font-size:12px; }
.documents-section .section-note { margin:9px 0 22px; }
.document-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px; }
.documents-empty { grid-column:1/-1;font-size:12px;color:var(--muted);padding:15px 0; }
.document-card { --doc-accent:var(--pink);display:flex;flex-direction:column;min-width:0;padding:13px 12px;border:1px solid color-mix(in srgb,var(--doc-accent) 20%,transparent);border-radius:15px;background:var(--tile-surface);color:var(--text);text-align:left;cursor:pointer; }
.document-add-card { min-height:176px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.008);color:var(--muted);transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
.document-add-card>span { font-size:30px;font-weight:300;line-height:1; }
.document-add-card:hover,.document-add-card:focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.035);color:var(--pink); }
.document-card[data-tone="green"] { --doc-accent:#d998aa; }
.document-card[data-tone="violet"] { --doc-accent:#ec9fbd; }
.document-card[data-tone="blue"] { --doc-accent:#f2b5c3; }
.document-card-top { display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:18px; }
.document-icon { width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--doc-accent) 10%,transparent); }
.document-icon .hub-icon { width:17px;height:17px;fill:none;stroke:var(--doc-accent);stroke-width:1.4; }
.document-icon .hub-icon * { stroke-dasharray:none;stroke-dashoffset:0;animation:none; }
.document-card-top>small { color:var(--doc-accent);font-size:10px; }
.document-card-copy { display:flex;flex-direction:column;gap:6px;flex:1; }
.document-card-copy>small { color:var(--muted);font-size:9px;line-height:1.4; }
.document-card-copy>strong { font-size:14px;font-weight:500;line-height:1.35;overflow-wrap:anywhere; }
.document-card-copy>span { font-size:11px;color:#a2a6b2;line-height:1.4; }
.document-card-bottom { display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid color-mix(in srgb,var(--doc-accent) 13%,transparent);margin-top:17px;padding-top:11px;color:var(--doc-accent); }
.document-card-bottom b { font-size:12px;font-weight:500; }
.document-date { margin-top:6px;font-size:9px;color:var(--muted); }
.documents-demo-note { color:var(--muted);font-size:10px;line-height:1.5;margin-top:18px; }
.document-dialog { width:calc(100% - 28px);max-width:362px;max-height:calc(100dvh - 40px);margin:auto;padding:20px 18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(9,10,13,.94);color:var(--text);overflow-y:auto; }
.document-dialog::backdrop { background:#000b;backdrop-filter:blur(5px); }
.document-dialog-header { display:flex;align-items:center;justify-content:space-between; }
.document-dialog-header .section-kicker { margin:0; }
.document-dialog-header button { display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;outline:none; }
.document-dialog-header button:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px;color:var(--text); }
.document-dialog-header button:hover { color:var(--text); }
.document-dialog h2 { margin:13px 0 7px;font-family:inherit;font-size:21px;line-height:1.2;font-weight:500; }
.document-project,.document-issued { font-size:11px;line-height:1.5;color:var(--muted);margin:0; }
.document-amount { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 5px; }
.document-amount strong { font-size:21px;font-weight:500; }
.document-status { font-size:10px;color:var(--pink);background:var(--pink-soft);border-radius:12px;padding:5px 8px; }
.document-status[data-status="Bezahlt"] { color:#d998aa;background:#d998aa15; }
.document-status[data-status="Aktiv"] { color:#ec9fbd;background:#ec9fbd15; }
.document-pdf-empty { margin-top:18px;padding:22px 17px;border:1px dashed #ffffff1c;border-radius:13px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#090b0f; }
.document-pdf-empty>span { display:grid;place-items:center;width:38px;height:47px;border:1px solid #ffffff29;border-radius:6px;color:var(--muted);font-size:10px;letter-spacing:.06em;margin-bottom:13px; }
.document-pdf-empty strong { font-size:13px;font-weight:500; }
.document-pdf-empty p { margin:8px 0 0;font-size:11px;line-height:1.55;color:var(--muted); }
.document-pdf-viewport { width:100%;height:280px;margin-top:18px;border-radius:12px;overflow-y:auto;overflow-x:hidden;background:#fff;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none; }
.document-pdf-viewport::-webkit-scrollbar { display:none; }
.document-pdf-viewport.is-zoomed { overflow-x:auto;touch-action:pan-x pan-y; }
.document-pdf-pages { width:100%; }
.document-pdf-page { display:block;width:100%;height:auto;margin:0 auto 8px;background:#fff; }
.document-pdf-loading { margin:0;padding:22px 14px;color:#626670;font-size:12px;text-align:center; }
.document-pdf-link { display:block;color:var(--pink);font-size:12px;padding:12px 0; }
.document-payment h3 { margin:20px 0 10px;font-size:12px;font-weight:500; }
.document-payment-marks { display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--text); }
.document-payment-marks > span { display:inline-flex;align-items:center;justify-content:center;height:22px;min-width:35px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.025);font-size:10px;font-weight:700;letter-spacing:.02em; }
.payment-mark-mastercard i { display:block;width:12px;height:12px;border-radius:50%;background:var(--pink);opacity:.8; }
.payment-mark-mastercard i+i { margin-left:-4px;background:#e8e5e8;opacity:.8; }
.document-payment-marks .payment-mark-amex { overflow:hidden; }
.payment-mark-amex img { display:block;width:22.4px;height:22.4px;flex:none;clip-path:inset(14.285%); }
.document-payment-marks .payment-mark-paypal { overflow:hidden; }
.payment-mark-paypal img { display:block;width:15px;height:18px;object-fit:contain; }
.payment-mark-cash svg { width:22px;height:15px;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round; }
.document-payment-options { display:grid;grid-template-columns:1fr;gap:8px; }
.document-payment-method { display:grid;gap:7px;margin:15px 0 12px;color:var(--muted);font-size:11px; }
.document-payment-method select { width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--tile-surface);color:var(--text);font:inherit; }
.document-payment-note + .document-payment-options { margin-top:20px; }
.document-payment-options button { min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:5px;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--tile-surface);color:var(--text);font-family:inherit;cursor:pointer; }
.document-payment-options button:disabled { opacity:.58;cursor:wait; }
.document-payment-options b { font-size:12px;font-weight:500; }
.document-payment-options span { color:var(--pink); }
.document-payment-note,.document-paid-note { font-size:11px;line-height:1.55;color:var(--muted);margin:12px 0 0; }
.document-paid-note { color:#d998aa; }

/* Interactive design lab */
.concept-picker,.lab-shell { min-height:100dvh;max-width:460px;margin:0 auto;background:var(--bg);position:relative;box-shadow:var(--shadow); }
.concept-picker { padding:calc(20px + env(safe-area-inset-top)) 18px calc(32px + env(safe-area-inset-bottom)); }
.picker-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:44px; }
.picker-head img { width:82px;height:auto; }
.picker-kicker { margin:0 0 12px;color:var(--pink);font-size:10px;letter-spacing:.14em;text-transform:uppercase; }
.concept-picker > h1 { margin:0;font-family:"General Sans",system-ui,sans-serif;font-size:48px;font-weight:400;line-height:.88;letter-spacing:-.025em; }
.concept-picker > h1 em { color:var(--pink);font-weight:400; }
.picker-copy { max-width:340px;margin:19px 0 32px;color:var(--muted);font-size:12px;line-height:1.55; }
.concept-list { display:flex;flex-direction:column;gap:10px; }
.concept-option { min-height:126px;border:1px solid var(--line);border-radius:18px;background:var(--surface);display:grid;grid-template-columns:26px 74px 1fr 22px;gap:10px;align-items:center;padding:14px;text-align:left;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease; }
.concept-option:active { transform:scale(.98); }.concept-option:hover { border-color:rgba(var(--accent-rgb),.42); }
.concept-number { align-self:start;color:var(--muted);font-size:9px;letter-spacing:.08em; }
.concept-art { width:70px;height:92px;border-radius:40px;position:relative;display:grid;place-items:center; }
.concept-name strong { display:block;font-family:"General Sans",system-ui,sans-serif;font-weight:400;font-size:24px;line-height:1; }
.concept-name small { display:block;color:var(--muted);font-size:10px;margin-top:7px; }.concept-arrow { color:var(--pink);font-size:20px; }
.orbit-art { border:1px solid var(--line); }.orbit-art::before { content:"";width:31px;height:31px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 8px var(--pink-soft); }
.orbit-art i { position:absolute;width:9px;height:9px;border:1px solid var(--violet);border-radius:50%; }.orbit-art i:nth-child(1){left:4px;top:20px}.orbit-art i:nth-child(2){right:4px;bottom:23px}.orbit-art i:nth-child(3){right:9px;top:14px;background:var(--green);border:0}
.zine-art { border-radius:4px;background:#eee9dd;color:#141414;font-family:"General Sans",system-ui,sans-serif;font-size:39px;font-style:italic;transform:rotate(-3deg); }
.film-art { border-radius:6px;background:#111;display:flex;gap:4px;padding:7px;transform:rotate(2deg); }.film-art i{display:block;height:76%;flex:1;background:linear-gradient(180deg,#111b2b,#a94d2f);border:1px solid rgba(255,255,255,.15)}.film-art i:nth-child(2){height:94%;background:linear-gradient(180deg,#251743,#704bd1)}

.lab-shell { padding:calc(16px + env(safe-area-inset-top)) 16px calc(94px + env(safe-area-inset-bottom));overflow:hidden; }
.concept-header { display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:16px;position:relative;z-index:3; }
.concept-header > span { text-align:center;color:var(--muted);font-size:9px;letter-spacing:.16em; }
.concept-back { width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--pink);font-size:20px;cursor:pointer; }
.concept-player { position:fixed;z-index:8;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));width:min(428px,calc(100% - 24px));height:65px;border:1px solid var(--line);border-radius:32px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px);display:grid;grid-template-columns:43px 1fr 80px;gap:10px;align-items:center;padding:8px 14px 8px 8px;box-shadow:none; }
.concept-play { width:43px;height:43px;border:0;border-radius:50%;background:var(--pink);color:#fff;cursor:pointer; }
.concept-player strong,.concept-player small { display:block; }.concept-player strong{font-size:11px}.concept-player small{font-size:9px;color:var(--muted);margin-top:3px}.tiny-wave{height:30px;display:flex;align-items:center;gap:3px;justify-content:flex-end}.tiny-wave i{display:block;width:2px;height:8px;background:var(--pink);border-radius:2px}.tiny-wave i:nth-child(2),.tiny-wave i:nth-child(6){height:18px}.tiny-wave i:nth-child(3){height:25px}.tiny-wave i:nth-child(4){height:13px}.tiny-wave i:nth-child(5){height:22px}

/* Orbit */
.concept-orbit { background:radial-gradient(circle at 50% 44%,rgba(82,53,127,.22),transparent 34%),var(--bg); }
.orbit-stage { text-align:center; }.orbit-logo { width:68px;height:auto;margin:2px auto 8px;display:block; }.orbit-greeting{margin:0;color:var(--muted);font-size:10px;letter-spacing:.08em}
.orbit-map { height:510px;position:relative;margin:1px -4px 0; }.orbit-map::before,.orbit-map::after{content:"";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:50%}.orbit-map::before{width:315px;height:315px}.orbit-map::after{width:225px;height:225px;border-style:dashed;opacity:.72}
.orbit-core { position:absolute;z-index:2;left:50%;top:52%;transform:translate(-50%,-50%);width:176px;height:176px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.42);background:radial-gradient(circle at 65% 25%,rgba(195,111,56,.68),transparent 35%),#11131a;color:#fff;box-shadow:0 0 0 13px rgba(var(--accent-rgb),.05),0 28px 70px rgba(0,0,0,.38);cursor:pointer}.orbit-core strong{display:block;font-family:"General Sans",system-ui,sans-serif;font-size:35px;font-weight:400;line-height:.8}.orbit-core small{display:block;color:rgba(255,255,255,.5);font-size:8px;margin-top:14px;text-transform:uppercase;letter-spacing:.08em}.orbit-status{display:block;color:#f5a9bd;font-size:8px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px}
.orbit-node { position:absolute;z-index:2;width:72px;height:72px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.2)}.orbit-node b{color:var(--pink);font-size:14px}.orbit-node span{font-size:8px;color:var(--muted);margin-top:4px}.node-library{left:2px;top:96px}.node-chat{right:3px;top:137px}.node-upload{left:21px;bottom:53px}.node-money{right:19px;bottom:38px}.node-money b{color:var(--green)}
.orbit-note{max-width:230px;margin:-18px auto 0;color:var(--muted);font-family:"General Sans",system-ui,sans-serif;font-style:italic;font-size:16px;line-height:1.2}

/* Editorial zine */
.concept-zine { background:var(--bg); }.zine-mast{height:55px;border-top:1px solid var(--text);border-bottom:1px solid var(--text);display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.zine-mast img{width:77px}.zine-mast span{text-align:right;font-size:8px;line-height:1.35;letter-spacing:.1em}
.zine-hero{width:100%;height:255px;border:0;background:#bf633d;color:#111;padding:17px;text-align:left;position:relative;overflow:hidden;cursor:pointer}.zine-hero::after{content:"";position:absolute;width:210px;height:210px;border:36px solid rgba(13,13,14,.14);border-radius:50%;right:-80px;top:-58px}.zine-label{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.zine-hero strong{display:block;font-family:"General Sans",system-ui,sans-serif;font-size:57px;font-weight:400;line-height:.68;margin-top:47px;letter-spacing:-.04em}.zine-hero em{font-weight:400;color:#f5ece1}.zine-state{position:absolute;right:14px;bottom:13px;font-size:9px;letter-spacing:.11em}
.zine-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.zine-tile{min-height:142px;border:0;padding:14px;text-align:left;cursor:pointer;position:relative}.zine-tile>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.zine-tile small{font-size:8px}.zine-files{background:#d9cfb9;color:#171718}.zine-files strong{font-family:"General Sans",system-ui,sans-serif;font-size:66px;font-weight:400;display:block;line-height:.95}.zine-chat{background:#27212f;color:#f4ecdf}.zine-chat p{font-family:"General Sans",system-ui,sans-serif;font-size:18px;line-height:1.05;margin:18px 0 13px}.zine-upload{background:var(--pink);color:#111;display:flex;align-items:flex-end;justify-content:space-between}.zine-upload strong{font-size:33px;font-weight:400}.zine-upload span{font-family:"General Sans",system-ui,sans-serif;font-size:22px;text-transform:none;line-height:.9}.zine-bill{background:#b7cb35;color:#111}.zine-bill strong{display:block;font-size:30px;margin:31px 0 2px}.zine-index{width:100%;height:58px;margin-top:7px;border:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 17px;cursor:pointer}.zine-index span{font-family:"General Sans",system-ui,sans-serif;font-size:19px}.zine-index b{font-size:22px;color:var(--pink)}

/* Filmstrip */
.concept-film{background:linear-gradient(180deg,#0a0a10,#0b1020 60%,#08090b)}.film-top{display:flex;align-items:center;justify-content:space-between;margin:7px 1px 17px}.film-top img{width:74px}.film-top span{text-align:right;color:#a49fae;font-size:8px;letter-spacing:.13em;line-height:1.4}
.film-frame{width:100%;border:0;background:transparent;color:#f7f2ea;text-align:left;padding:0;cursor:pointer;position:relative}.film-count{position:absolute;z-index:2;right:14px;top:12px;color:#fff;font-size:10px}.film-scene{height:345px;border-radius:3px;overflow:hidden;position:relative;background:radial-gradient(circle at 60% 38%,rgba(53,88,132,.95),transparent 27%),linear-gradient(155deg,#03040a 30%,#30215e 64%,#d05c45)}.film-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.85))}.film-scene i{position:absolute;width:230px;height:78px;left:50%;bottom:48px;transform:translateX(-50%) skewX(-12deg);border-radius:60% 45% 12px 12px;background:#08090b;box-shadow:0 12px 0 #020203,0 0 22px rgba(var(--accent-rgb),.25)}.film-kind{display:block;margin-top:14px;color:var(--pink);font-size:8px;letter-spacing:.16em}.film-frame>strong{display:block;font-family:"General Sans",system-ui,sans-serif;font-weight:400;font-size:42px;line-height:1;margin-top:7px}.film-frame>small{display:block;color:#aaa7b1;font-size:10px;margin-top:7px}.film-track{display:flex;gap:5px;margin:20px 0}.film-track span{height:2px;flex:1;background:rgba(255,255,255,.15)}.film-track .active{background:var(--pink)}
.film-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.film-actions button{height:74px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:#eeeaf2;border-radius:4px;cursor:pointer}.film-actions b,.film-actions span{display:block}.film-actions b{font-size:15px;color:var(--violet)}.film-actions span{font-size:8px;margin-top:7px;text-transform:uppercase;letter-spacing:.08em}.next-scene{width:100%;height:70px;margin-top:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:#eeeaf2;display:grid;grid-template-columns:1fr 1.4fr 20px;text-align:left;align-items:center;padding:0 14px;cursor:pointer}.next-scene span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#9b98a5}.next-scene strong{font-family:"General Sans",system-ui,sans-serif;font-size:20px;font-weight:400}.next-scene b{color:var(--pink)}

/* Detail sheet shared by all concepts */
.sheet-scrim{position:fixed;z-index:20;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);animation:fadeIn .2s ease}.detail-sheet{position:fixed;z-index:21;left:50%;transform:translateX(-50%);bottom:0;width:min(460px,100%);min-height:365px;padding:45px 22px calc(25px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:rgba(9,10,13,.94);border:1px solid rgba(255,255,255,.1);box-shadow:0 -24px 70px rgba(0,0,0,.42);animation:sheetIn .3s cubic-bezier(.2,.8,.2,1)}.sheet-close{position:absolute;right:17px;top:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);font-size:20px;cursor:pointer}.detail-sheet>p{margin:0;color:var(--pink);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.detail-sheet h2{font-family:"General Sans",system-ui,sans-serif;font-size:43px;font-weight:400;line-height:.95;margin:13px 0}.sheet-rule{height:1px;background:var(--line);margin:20px 0}.detail-sheet>span{display:block;color:var(--muted);font-size:13px;line-height:1.55;max-width:360px}.sheet-action{width:100%;height:54px;margin-top:28px;border:0;border-radius:3px;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer}.sheet-action b{font-size:18px}.sheet-action:active{transform:scale(.99)}

@media (min-width: 520px) {
  .shell { min-height:calc(100dvh - 36px);border-radius:28px;overflow:hidden; }
  .bottom-nav { bottom:18px;border-radius:0 0 28px 28px; }
  .mini-player { bottom:98px; }
}

@keyframes logoIn { to {opacity:1;transform:scale(1);} }
@keyframes authScrimIn { from{opacity:0} to{opacity:1} }
@keyframes authScrimOut { from{opacity:1} to{opacity:0} }
@keyframes authModalIn { from{opacity:0;transform:translateY(-50%) scale(.9)} to{opacity:1;transform:translateY(-50%) scale(1)} }
@keyframes authModalOut { from{opacity:1;transform:translateY(-50%) scale(1)} to{opacity:0;transform:translateY(-50%) scale(.94)} }
@keyframes fullChatReveal { from{clip-path:inset(calc(100% - 206px - env(safe-area-inset-bottom)) 0 0 0 round 26px 26px 0 0)} to{clip-path:inset(0 0 0 0 round 0)} }
@keyframes fullChatHide { from{clip-path:inset(0 0 0 0 round 0)} to{clip-path:inset(calc(100% - 206px - env(safe-area-inset-bottom)) 0 0 0 round 26px 26px 0 0)} }
@keyframes inlineChatExpand { from{height:188px} to{height:calc(100% - 18px - env(safe-area-inset-bottom))} }
@keyframes inlineChatCollapse { from{height:calc(100% - 18px - env(safe-area-inset-bottom))} to{height:188px} }
@keyframes chatShadeAway { from{opacity:1} to{opacity:0} }
@keyframes chatShadeReturn { from{opacity:0} to{opacity:1} }
@keyframes chatCloseIn { from{opacity:0;transform:scale(.86)} to{opacity:1;transform:scale(1)} }
@keyframes chatCloseOut { to{opacity:0;transform:scale(.86)} }
@keyframes orbitGhostAway { from{opacity:1;filter:blur(0)} to{opacity:.28;filter:blur(5.5px)} }
@keyframes orbitGhostReturn { 0%,18%{opacity:.28;filter:blur(5.5px)} 100%{opacity:1;filter:blur(0)} }
@keyframes orbitFadeAway { from{opacity:1;filter:blur(0)} to{opacity:0;filter:blur(7px)} }
@keyframes orbitFadeReturn { 0%,18%{opacity:0;filter:blur(7px)} 100%{opacity:1;filter:blur(0)} }
@keyframes inlineChatItemEnter { from{opacity:0;transform:translateY(42px)} }
@keyframes chatPreviewMessageIn { from{opacity:0;transform:translateY(22px)} to{opacity:.9;transform:translateY(0)} }
@keyframes logoToHub {
  0% { width:156px;opacity:1;transform:scale(1); }
  18% { width:156px;opacity:1;transform:scale(1.075); }
  100% { width:98px;opacity:1;transform:scale(1); }
}
@keyframes fadeIn { to {opacity:1;} }
@keyframes pageContentEnter { from {opacity:0;transform:translateY(-10px)} to {opacity:1;transform:translateY(0)} }
@keyframes breathe { 50% {transform:scale(1.2);opacity:.65;} }
@keyframes introOut { to {opacity:0;transform:scale(1.025);} }
@keyframes toastIn { from {opacity:0;transform:translate(-50%,8px);} }
@keyframes sheetIn { from {transform:translate(-50%,100%);} }
@keyframes ringIn { from {opacity:0;transform:translate(-50%,-50%) scale(.82)} to {opacity:1;transform:translate(-50%,-50%) scale(1)} }
@keyframes ringSvgIn { from {opacity:0} to {opacity:1} }
@keyframes nodeIn { from {opacity:0;transform:scale(.5)} to {opacity:1;transform:scale(1)} }
@keyframes orbitAssemble { from {transform:rotate(-132deg)} to {transform:rotate(0deg)} }
@keyframes sakuraBranchTrace { to {stroke-dashoffset:0} }
@keyframes sakuraFlowerReveal { to {opacity:1} }
@keyframes sakuraGrowthFinish { to {opacity:1} }
@keyframes sakuraWindUpper { 0%,100% {transform:rotate(0deg) skewY(0deg)} 22% {transform:rotate(.75deg) skewY(.25deg)} 49% {transform:rotate(-.67deg) skewY(-.20deg)} 74% {transform:rotate(.37deg) skewY(.12deg)} }
@keyframes sakuraWindLower { 0%,100% {transform:rotate(0deg) skewY(0deg)} 28% {transform:rotate(-.81deg) skewY(-.21deg)} 57% {transform:rotate(.55deg) skewY(.16deg)} 82% {transform:rotate(-.29deg) skewY(-.09deg)} }
@keyframes sakuraRetreatLeft { from {clip-path:inset(0);transform:translateX(0)} to {clip-path:inset(0 100% 0 0);transform:translateX(-12px)} }
@keyframes sakuraRetreatRight { from {clip-path:inset(0);transform:translateX(0)} to {clip-path:inset(0 0 0 100%);transform:translateX(12px)} }
@keyframes counterOrbit { from {transform:rotate(132deg)} to {transform:rotate(0deg)} }
@keyframes desktopOrbitShiftIn { from {transform:translate3d(var(--desktop-orbit-entry-offset),var(--hub-center-shift),0)} to {transform:translate3d(0,var(--hub-center-shift),0)} }
@keyframes iconDraw { to {stroke-dashoffset:0;} }
@keyframes fileListReveal { from {opacity:0;transform:translate3d(0,-54px,0)} to {opacity:1;transform:translate3d(0,0,0)} }
@keyframes projectDetailIn { from {opacity:0;transform:translate3d(0,-18px,0)} to {opacity:1;transform:translate3d(0,0,0)} }
@keyframes projectPickerIn { from {opacity:0;transform:translate3d(0,35px,0) scale(.98)} to {opacity:1;transform:translate3d(0,0,0) scale(1)} }
@keyframes projectStatusPulse { 0%,100% { transform:scale(.94);opacity:.6; } 50% { transform:scale(1.08);opacity:1; } }
.release-open svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round; }
.release-shell { display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));gap:14px; }
.release-shell .hub-tools { flex:none;margin:0 0 8px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.release-shell .hub-tools>.hub-round { justify-self:start; }
.release-shell [data-release-back],.release-shell [data-release-reset] { width:36px;min-width:36px;max-width:36px;height:34px;min-height:34px;max-height:34px;flex:0 0 36px;padding:0;line-height:1;appearance:none;-webkit-appearance:none;align-self:center; }
.release-shell .hub-tools>.section-kicker { text-align:center; }
.release-shell .hub-tools>.release-header-actions { justify-self:end; }
.release-shell .section-kicker { margin:0; }
.release-periods { flex:none;display:flex;gap:7px; }
.release-periods button { flex:1;height:33px;border:1px solid var(--line);border-radius:9px;background:#0d1015;color:var(--muted);font-size:11px;cursor:pointer; }
.release-periods button.active { border-color:rgba(var(--accent-rgb),.35);background:var(--pink-soft);color:var(--text); }
.release-range { display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;align-items:center;gap:6px;flex:none;color:var(--muted);font-size:12px; }
.release-range span { min-width:0;text-align:center; }
.release-range button { width:36px;height:34px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.018);color:var(--muted);font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
.release-range button:active { transform:scale(.94); }
.release-range button:hover,.release-range button:focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.045);color:var(--text); }
.calendar-view-switch { flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.015); }
.calendar-view-switch button { min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:background .16s,color .16s; }
.calendar-view-switch button[aria-pressed="true"] { background:rgba(var(--accent-rgb),.095);color:#f2cedb; }
.calendar-view-switch button:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.release-scroll { flex:0 1 auto;min-height:180px;overflow:auto;border:0;border-radius:0;background:transparent;overscroll-behavior:contain;scrollbar-width:none; }
.release-calendar { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--calendar-weeks),104px);gap:6px; }
.release-day { --day-outline:rgba(255,255,255,.08);min-width:0;min-height:0;display:flex;flex-direction:column;gap:7px;padding:8px 5px 5px;border:1px solid transparent;border-radius:9px;background:linear-gradient(110deg,rgba(153,168,189,.055),rgba(255,255,255,.012));transition:background .16s; }
.release-day-number { width:100%;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 2px;border:0;background:transparent;color:#bfc2ca;font:inherit;font-size:14px;line-height:18px;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer; }
.release-day-number small { color:var(--muted);font-size:10px;font-weight:400; }
.release-day { position:relative; }
.release-day::before { content:"";position:absolute;inset:-1px;border:1px solid var(--day-outline);border-radius:inherit;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 22%,rgba(0,0,0,.72) 55%,rgba(0,0,0,.16) 86%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 22%,rgba(0,0,0,.72) 55%,rgba(0,0,0,.16) 86%,transparent 100%); }
.release-day-number::after { content:"";position:absolute;inset:0;z-index:1;border-radius:inherit; }
.release-day-number:focus-visible::after { outline:2px solid var(--focus-line);outline-offset:-2px; }
.release-day-projects { position:relative;z-index:2;pointer-events:none; }
.release-day-projects>button { pointer-events:auto; }
.calendar-day-add { width:100%;min-height:44px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--pink);font:inherit;text-align:left;cursor:pointer; }
.calendar-day-error { color:var(--pink);font-size:14px; }
.calendar-day-entry:disabled { opacity:.5;cursor:wait; }
.release-day.is-other-month { --day-outline:rgba(255,255,255,.035);background:rgba(153,168,189,.018); }
.release-day.is-other-month .release-day-number { color:#4e535e; }
.release-day.is-today { --day-outline:rgba(var(--accent-rgb),.4); }
.release-day.is-today .release-day-number { color:var(--pink); }
.release-day.is-past .release-day-number { color:#858a93; }
.release-day .release-card.is-past { filter:grayscale(1);opacity:.62; }
.release-day .release-card.is-past:is(:hover,:focus-visible) { opacity:.9; }
.release-day.is-selected { --day-outline:rgba(var(--accent-rgb),.62);background:linear-gradient(110deg,rgba(var(--accent-rgb),.075),rgba(255,255,255,.018)); }
.release-day.is-drop-target { --day-outline:var(--pink);background:rgba(var(--accent-rgb),.14); }
.release-day-projects { flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:3px;scrollbar-width:none;overscroll-behavior:contain; }
.release-day-projects::-webkit-scrollbar { display:none; }
.release-shell .release-day .release-card { width:100%;height:auto;min-height:0;flex:0 0 auto;padding:5px 5px 4px;gap:3px;border-radius:6px;background:var(--tile-surface);border-color:rgba(255,255,255,.08);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--release-accent) 65%,transparent);justify-content:flex-start; }
.release-shell .release-day .release-card>strong { color:#e6e6ec;font-size:11px;font-weight:500;line-height:13px;white-space:normal;overflow-wrap:anywhere;display:block;overflow:visible;text-overflow:clip; }
.release-shell .release-day .release-card>.release-card-kind { font-size:8px;line-height:10px;color:#838b9b;letter-spacing:.02em; }
.release-shell .release-day .release-card>span { display:flex;font-size:8px;line-height:10px;gap:2px; }
.release-shell .release-day .release-card>span b { font-weight:400;overflow-wrap:anywhere;min-width:0; }
.release-shell .release-day .release-card>span i { font-size:8px;flex:none;opacity:.65; }
.release-shell .release-drag-ghost.is-scheduled { height:auto;gap:4px; }
.release-drag-ghost.is-scheduled>span b { font-weight:400; }
@media (max-height:740px) {
  .release-calendar { grid-template-rows:repeat(var(--calendar-weeks),86px); }
  .release-shell { gap:10px; }
}
.release-board { position:relative;min-height:100%; }
.release-tick { position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.035);pointer-events:none; }
.release-tick b { position:absolute;top:18px;left:5px;white-space:nowrap;color:#717a89;font-size:9px;font-weight:400; }
.release-tick.is-month { background:rgba(255,255,255,.08); }
.release-tick.is-month b { color:#b3bdcc;font-size:11px; }
.release-today-line { position:absolute;top:45px;bottom:0;border-left:1px dashed rgba(var(--accent-rgb),.45);pointer-events:none; }
.release-today-line>b { position:absolute;top:0;left:4px;font-size:9px;font-weight:400;color:var(--pink); }
.release-card { --release-accent:var(--pink);width:116px;height:78px;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid color-mix(in srgb,var(--release-accent) 24%,transparent);border-radius:12px;background:var(--tile-surface);color:var(--text);text-align:left;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;flex:none; }
.release-board>.release-card { position:absolute; }
.release-card.is-ready { --release-accent:#8ac8a3; }
.release-shell .release-card { width:100px;height:52px;padding:9px 8px;gap:7px;border-radius:9px; }
.release-shell .release-card>strong { font-size:11px; }
.release-shell .release-card>span { font-size:10px; }
.release-date-anchor { position:absolute;top:60px;width:1px;background:rgba(var(--accent-rgb),.32);pointer-events:none; }
.release-date-anchor::before { content:"";position:absolute;top:-3px;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--pink); }
.release-date-anchor.is-ready { background:rgba(138,200,163,.32); }
.release-date-anchor.is-ready::before { background:#8ac8a3; }
.release-board::before { content:"";position:absolute;top:60px;left:24px;right:24px;height:1px;background:rgba(255,255,255,.14); }
.release-board>.release-card { border-top-left-radius:2px; }
.release-shelf.is-release-drop-available { border-radius:12px;outline:1px dashed rgba(var(--accent-rgb),.35);outline-offset:4px; }
.release-shelf.is-release-drop-available::after { content:"Hier ablegen, um den Termin zu entfernen";display:block;padding:8px 0;color:var(--muted);font-size:10px; }
.release-shelf.is-release-drop-target { background:var(--pink-soft);outline-color:var(--pink); }
.release-shelf.is-release-drop-target::after { content:"Loslassen → wieder ungeplant";color:var(--pink); }
.release-card>small { font-size:9px;color:#8d95a5; }
.release-card>strong { font-size:12px;font-weight:500;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.release-card>span { display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--release-accent); }
.release-card i { font-style:normal;font-size:9px; }
.release-card.is-lifted { opacity:.22; }
.session-calendar-card[data-session-draggable] { touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab; }
.session-calendar-card.is-lifted { opacity:.22; }
.session-calendar-availability[data-slot-edit] { touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab; }
.session-calendar-availability.is-lifted { opacity:.22; }
.session-calendar-availability.calendar-drag-ghost { position:absolute;z-index:54;pointer-events:none;box-shadow:0 14px 34px #0009; }
.session-calendar-card.calendar-drag-ghost { position:absolute;z-index:54;pointer-events:none;transform:scale(1.04);box-shadow:0 14px 34px #0009; }
.release-card.release-drag-ghost { position:absolute;z-index:45;pointer-events:none;transform:scale(1.04) rotate(1deg);box-shadow:0 14px 34px #0009; }
.release-drop-marker { position:absolute;top:46px;bottom:0;width:1px;border-left:1px solid var(--pink);color:var(--pink);font-size:11px;white-space:nowrap;padding-left:5px;pointer-events:none;z-index:5; }
.release-empty { margin:0;color:var(--muted);font-size:11px;line-height:1.5;flex:none; }
.release-shelf { flex:none;max-height:35%;overflow:auto;scrollbar-width:none; }
.release-header-actions { display:flex;align-items:center;gap:8px; }
.release-header-actions button:disabled { opacity:.3;cursor:default; }
.release-grouped-shelf { min-height:110px;overscroll-behavior:contain; }
.release-shell>.release-scroll { flex:1 1 0;min-height:180px; }
.release-shell .release-calendar { height:auto;min-height:0;grid-template-rows:repeat(var(--calendar-weeks),104px); }
@media (max-height:740px) { .release-shell .release-calendar { grid-template-rows:repeat(var(--calendar-weeks),86px); } }
.release-view-toggle { flex:none;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:#0c0e12;color:var(--muted);font-family:inherit;font-size:11px;cursor:pointer; }
.release-view-toggle svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .55s cubic-bezier(.4,0,.2,1); }
.session-month-toggle { display:none; }
@media (max-width:1023px) {
  #app>.release-shell { overflow-y:auto; }
  #app>.release-shell>.release-scroll { flex:0 0 auto;min-height:0;overflow:visible; }
  #app>.release-shell .release-calendar { grid-template-rows:repeat(var(--calendar-weeks),104px); }
  #app>.release-shell>.release-grouped-shelf { flex:0 0 auto;height:auto;overflow:visible; }
}
.session-month-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.release-shell>.release-grouped-shelf { height:27%;min-height:0;max-height:none;opacity:1;transform:translateY(0);transition:height .55s cubic-bezier(.4,0,.2,1),opacity .4s ease,transform .55s cubic-bezier(.4,0,.2,1),margin .55s cubic-bezier(.4,0,.2,1); }
.release-shell.calendar-expanded>.release-grouped-shelf { height:0;margin-top:-14px;opacity:0;transform:translateY(35px);overflow:hidden;pointer-events:none; }
.calendar-expanded .release-view-toggle svg { transform:rotate(180deg); }
@media (max-height:740px) { .release-shell.calendar-expanded>.release-grouped-shelf { margin-top:-10px; } }
@media (prefers-reduced-motion:reduce) { .release-shell>.release-grouped-shelf,.release-view-toggle svg { transition:none; } }
.release-shelf-label { margin:0 0 8px;font-size:11px;color:var(--muted); }
.release-shelf-label small { margin-left:5px; }
.release-project-group { --group-color:var(--pink);--group-tint:rgba(var(--accent-rgb),.065);margin-bottom:8px; }
.release-project-group[data-release-tone="normal"] { --group-color:#b9bdc5;--group-tint:rgba(190,194,202,.045); }
.release-project-group[data-release-tone="low"] { --group-color:#777b84;--group-tint:rgba(150,154,165,.035); }
/* Match the project page status cards in the release shelf. */
.release-project-group .release-shelf-toggle { height:auto;min-height:38px;padding:8px 12px;gap:10px;border:1px solid transparent;border-radius:10px;background:var(--ui-panel);box-shadow:none;color:color-mix(in srgb,var(--group-color) 80%,transparent);font-family:inherit;font-weight:500;transition:background-color .18s ease; }
.release-project-group .release-shelf-toggle>span { display:flex;align-items:center;gap:10px;flex:1;text-align:left; }
.release-project-group .release-shelf-toggle small { display:grid;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 4px;border:1px solid transparent;border-radius:5px;background:var(--ui-field);color:inherit;font-size:9px;font-weight:500;line-height:1; }
.release-project-group .release-shelf-toggle>b { display:grid;place-items:center;flex:0 0 14px;width:14px;height:14px;font-size:0; }
.release-project-group .release-shelf-toggle>b::after { content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg); }
.release-project-group .release-shelf-toggle[aria-expanded="false"]>b::after { transform:translateX(-2px) rotate(-45deg); }
.release-project-group .release-shelf-toggle:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
@media(hover:hover){.release-project-group .release-shelf-toggle:hover{background:var(--ui-hover)}}
.release-grouped-shelf .release-unscheduled { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:8px 0;gap:7px; }
.release-grouped-shelf .release-card { width:100%;height:auto;min-height:56px; }
.release-grouped-shelf .release-card>strong { white-space:normal;overflow-wrap:anywhere;line-height:1.3; }
.release-grouped-shelf .release-unscheduled>p { grid-column:1/-1;margin:3px 0;font-size:10px; }
.release-reset-dialog { width:calc(100% - 36px);max-width:350px;max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:22px 18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(9,10,13,.94);color:var(--text); }
.release-reset-dialog::backdrop { background:#000b;backdrop-filter:blur(5px); }
.release-reset-dialog h2 { margin:0 0 12px;font:500 18px/1.3 sans-serif; }
.release-reset-dialog p { margin:0;color:var(--muted);font-size:13px;line-height:1.55; }
.release-reset-dialog>div { display:flex;gap:8px;margin-top:20px; }
.release-reset-dialog button { flex:1;min-height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;cursor:pointer; }
.release-reset-dialog [data-reset-confirm] { color:var(--pink);background:var(--pink-soft);border-color:rgba(var(--accent-rgb),.35); }
.release-shelf-toggle { width:100%;height:34px;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:0;font-size:12px;cursor:pointer; }
.release-shelf-toggle small { margin-left:6px;color:var(--muted);font-size:10px; }
.release-shelf-toggle b { font-weight:400; }
.release-unscheduled { display:flex;gap:8px;overflow-x:auto;padding:12px 0 8px;scrollbar-width:none; }
.release-unscheduled>p { font-size:11px;color:var(--muted); }
.release-outside { font-size:10px;color:var(--muted);margin:8px 0; }
.release-outside summary { cursor:pointer;padding:8px 0; }
.release-outside button { width:100%;display:flex;justify-content:space-between;padding:10px 0;background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);font-size:11px;cursor:pointer; }
.release-outside small { color:var(--muted); }
.release-date-scrim { position:absolute;z-index:50;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(5px); }
.release-date-dialog { position:absolute;z-index:51;left:18px;right:18px;top:50%;transform:translateY(-50%);padding:24px 20px 18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(9,10,13,.94);box-shadow:0 24px 70px #0008; }
.release-date-dialog h2 { font-size:22px;font-weight:500;line-height:1.2;margin:12px 0 24px; }
.release-date-close { position:absolute;right:12px;top:12px;border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer; }
.release-date-dialog label { display:grid;gap:9px;font-size:12px;color:var(--muted); }
.release-date-dialog input { width:100%;min-width:0;max-width:100%;height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#090b10;color:var(--text);font-family:inherit;font-size:16px;color-scheme:dark; }
.release-save { width:100%;height:40px;margin-top:18px;border:1px solid rgba(var(--accent-rgb),.35);border-radius:12px;background:var(--pink-soft);color:var(--pink);font-size:12px;cursor:pointer; }
.release-remove { width:100%;border:0;background:transparent;color:var(--muted);font-size:11px;padding:14px 0 0;cursor:pointer; }
.calendar-day-scrim { position:fixed;z-index:55;inset:0;background:rgba(2,3,5,.68);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);touch-action:none;animation:calendarDayScrimIn .32s ease both; }
.hub-shell.has-day-detail { overflow:hidden!important;overscroll-behavior:none; }
.hub-shell.has-day-detail>.release-scroll { overflow:hidden; }
.calendar-day-dialog { position:fixed;z-index:56;left:18px;right:18px;top:50%;max-height:min(560px,calc(100% - 80px));overflow:hidden;padding:22px 18px 18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(145deg,rgba(12,14,18,.94),rgba(6,7,9,.96));box-shadow:0 28px 80px rgba(0,0,0,.65);transform:translateY(-50%);touch-action:pan-y;animation:calendarDayIn .42s cubic-bezier(.16,1,.3,1) both; }
.calendar-day-dialog.is-closing { pointer-events:none;animation:calendarDayOut .26s cubic-bezier(.4,0,1,1) both; }
.calendar-day-scrim.is-closing { pointer-events:none;animation:calendarDayScrimOut .26s ease both; }
.calendar-day-close { position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.045);color:#989ba5;font:inherit;font-size:23px;font-weight:300;line-height:1;cursor:pointer; }
.calendar-day-dialog>.section-kicker { margin:0 42px 7px 0; }
.calendar-day-dialog>h2 { margin:0 42px 17px 0;color:#ececf0;font:500 20px/1.25 "General Sans",sans-serif;text-transform:capitalize; }
.calendar-day-list { max-height:calc(min(560px,100dvh - 80px) - 100px);overflow:auto;display:grid;gap:8px;scrollbar-width:none;overscroll-behavior:contain; }
.calendar-day-list::-webkit-scrollbar { display:none; }
.release-shell .calendar-day-list { grid-template-columns:minmax(0,1fr);min-width:0;width:100%; }
.release-shell .calendar-day-entry { min-width:0;max-width:100%;box-sizing:border-box; }
.release-shell .release-date-dialog input { box-sizing:border-box;min-width:0;max-width:100%; }
.calendar-day-entry { --day-accent:var(--pink);width:100%;min-height:75px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 13px;border:1px solid rgba(255,255,255,.085);border-radius:12px;background:linear-gradient(120deg,color-mix(in srgb,var(--day-accent) 9%,#171920),#0d0f14 82%);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--day-accent) 68%,transparent);color:#e7e7ec;text-align:left;font:inherit;cursor:pointer; }
.calendar-day-entry.is-ready,.calendar-day-entry.is-available { --day-accent:#8ac8a3; }
.calendar-day-entry>small { color:#858b98;font-size:10px;line-height:1.2;letter-spacing:.025em; }
.calendar-day-entry>strong { font-size:15px;font-weight:500;line-height:1.25;overflow-wrap:anywhere; }
.calendar-day-entry>span { display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--day-accent);font-size:11px; }
.calendar-day-entry>span b { font-weight:400; }
.calendar-day-entry>span i { flex:none;font-style:normal; }
.session-day-entry[data-status="confirmed"] { --day-accent:#8ac8a3; }
.session-day-entry[data-status="proposal"] { --day-accent:#95b5df; }
.session-day-entry[data-status="declined"] { --day-accent:#857780; }
.session-day-entry.is-past { filter:grayscale(1);opacity:.65; }
.session-day-entry.is-past:is(:hover,:focus-visible) { opacity:1; }
.calendar-day-empty { margin:4px 0;padding:22px 12px;border:1px dashed rgba(255,255,255,.1);border-radius:12px;background:var(--bg);color:#858995;font-size:13px;line-height:1.45;text-align:center; }
.session-detail-scrim { position:fixed;z-index:57;inset:0;background:rgba(2,3,5,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:calendarDayScrimIn .26s ease both; }
.sessions-section.has-session-detail { overflow:hidden!important;overscroll-behavior:none; }
.session-detail-dialog { position:fixed;z-index:58;left:18px;right:18px;top:50%;max-height:calc(100dvh - 64px);overflow-y:auto;padding:23px 20px 20px;border:1px solid rgba(255,255,255,.1);border-radius:21px;background:linear-gradient(145deg,rgba(12,14,18,.94),rgba(6,7,9,.96));box-shadow:0 30px 90px rgba(0,0,0,.72);color:var(--text);transform:translateY(-50%);outline:0;animation:calendarDayIn .38s cubic-bezier(.16,1,.3,1) both; }
.session-detail-close { position:absolute;right:13px;top:13px;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(255,255,255,.025);color:#99939e;display:grid;place-items:center;font:300 22px/1 inherit;cursor:pointer; }
.session-detail-dialog>.section-kicker { margin:1px 46px 13px 0; }
.session-detail-status { display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:12px;background:rgba(var(--accent-rgb),.08);color:var(--pink);font-size:10px; }
.session-detail-status[data-status="past"] { border-color:var(--line);background:rgba(255,255,255,.025);color:var(--muted); }
.session-status[data-status="past"] { color:var(--muted); }
.session-calendar-card[data-status="past"] { --session-accent:var(--muted); }
.session-day-entry[data-status="past"] { --day-accent:var(--muted); }
.session-detail-status[data-status="confirmed"] { border-color:rgba(138,200,163,.28);background:rgba(138,200,163,.08);color:#8ac8a3; }
.session-detail-status[data-status="proposal"] { border-color:rgba(149,181,223,.28);background:rgba(149,181,223,.08);color:#95b5df; }
.session-detail-status[data-status="declined"] { border-color:rgba(133,119,128,.3);background:rgba(133,119,128,.08);color:#a797a1; }
.session-detail-dialog h2 { margin:15px 42px 4px 0;color:#f0edf2;font:500 25px/1.16 "General Sans",sans-serif;overflow-wrap:anywhere; }
.session-detail-type { margin:0 0 20px;color:#99939f;font-size:13px; }
.session-detail-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.session-detail-grid>span { min-width:0;min-height:76px;padding:12px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.025); }
.session-detail-grid small,.session-detail-grid strong,.session-detail-original small,.session-detail-original strong,.session-detail-notes small { display:block; }
.session-detail-grid small,.session-detail-original small,.session-detail-notes small { color:#827d87;font-size:9px;letter-spacing:.07em;text-transform:uppercase; }
.session-detail-grid strong { margin-top:8px;color:#ded8e1;font-size:13px;font-weight:500;line-height:1.35;overflow-wrap:anywhere;text-transform:capitalize; }
.session-detail-original,.session-detail-notes { margin:11px 0 0;padding:13px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.02); }
.session-detail-original strong { margin-top:7px;color:#b9b0bd;font-size:12px;font-weight:500; }
.session-detail-notes p { margin:8px 0 0;color:#bbb4bf;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.session-detail-reminder { margin-top:13px;padding:13px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:12px;background:rgba(var(--accent-rgb),.045); }
.session-detail-reminder label strong,.session-detail-reminder label small { display:block; }
.session-detail-reminder label strong { color:#e9dee5;font-size:13px;font-weight:500; }
.session-detail-reminder label small { margin-top:3px;color:#a9a0aa;font-size:11px; }
.session-detail-reminder select { width:100%;min-height:42px;margin-top:11px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#111015;color:var(--text);font:inherit;font-size:12px; }
.session-detail-reminder select:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.session-detail-reminder>p { margin:8px 0 0;color:#9e97a1;font-size:11px;line-height:1.4; }
.session-detail-reminder .session-reminder-feedback:not(:empty) { color:var(--pink); }
.account-push-settings { margin:20px 0;padding:14px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:15px;background:rgba(var(--accent-rgb),.045); }
.account-push-settings h3 { margin:0;color:var(--text);font-size:16px;font-weight:500; }
.studio-profile .account-push-settings label { margin:10px 0 6px;font-size:12px; }
.account-push-settings select { width:100%;min-height:40px; }
.account-push-settings>button { width:100%;min-height:38px;margin:10px 0 0;border:1px solid rgba(var(--accent-rgb),.35);border-radius:10px;background:var(--pink-soft);color:var(--pink);font:inherit;font-size:12px;cursor:pointer; }
.account-push-settings>button:focus-visible,.account-push-settings select:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.account-push-settings .account-push-feedback { display:none;margin:8px 0 0;color:var(--pink);font-size:12px;line-height:1.4; }
.account-push-settings .account-push-feedback:not(:empty) { display:block; }
@keyframes calendarDayIn { from { opacity:0;transform:translateY(calc(-50% + 22px)) scale(.965); } to { opacity:1;transform:translateY(-50%) scale(1); } }
@keyframes calendarDayOut { from { opacity:1;transform:translateY(-50%) scale(1); } to { opacity:0;transform:translateY(calc(-50% + 18px)) scale(.975); } }
@keyframes calendarDayScrimIn { from { opacity:0; } to { opacity:1; } }
@keyframes calendarDayScrimOut { from { opacity:1; } to { opacity:0; } }

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important; } }
/* Sessions: compact calendar and request workflow. */
.sessions-section { overflow-y:auto; padding-bottom:30px; }
.sessions-heading,.session-month,.session-agenda-heading,.session-card-top,.session-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sessions-heading .section-kicker { margin:0; }
.session-offer-notices { display:grid;gap:10px;margin:16px 0 18px; }
.session-offer-notice { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:start;padding:14px 16px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:14px;background:linear-gradient(110deg,rgba(var(--accent-rgb),.075),rgba(255,255,255,.01)); }
.session-offer-notice-copy { display:grid;gap:3px;min-width:0; }
.session-offer-notice-copy small { color:var(--pink);font-size:11px;letter-spacing:.08em;text-transform:uppercase; }
.session-offer-notice-copy strong { font-size:15px;font-weight:500;overflow-wrap:anywhere; }
.session-offer-notice-copy span { color:var(--muted);font-size:12px;overflow-wrap:anywhere; }
.session-offer-notice-close { width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer; }
.session-offer-notice-close:hover { color:var(--text); }
.session-offer-notice-actions { display:flex;gap:8px;grid-column:1/-1; }
.session-offer-notice-actions button { min-height:34px;padding:6px 12px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:9px;background:rgba(var(--accent-rgb),.08);color:var(--text);font:inherit;font-size:12px;cursor:pointer; }
.session-offer-notice-actions button:hover { background:rgba(var(--accent-rgb),.15); }
.session-offer-notice-actions button:disabled { opacity:.5;cursor:wait; }
.offer-notice-error { grid-column:1/-1;margin:0;color:var(--pink);font-size:12px; }
.offer-notice-error:empty { display:none; }
.sessions-heading .hub-round { font-size:19px; font-weight:400; line-height:1; }
.sessions-view { display:flex; gap:6px; margin:18px 0; padding:4px; background:#111114; border:1px solid #29282d; border-radius:12px; }
.sessions-view button { flex:1; padding:9px 4px; border:0; border-radius:8px; color:#a9a3ab; background:transparent; font:inherit; font-size:12px; }
.sessions-view button[aria-pressed="true"] { color:#ecc3d0; background:#282029; }
.session-calendar { border:1px solid #2c2930; border-radius:18px; padding:12px; background:linear-gradient(140deg,#15151d,#0b0b0e 80%); }
.sessions-section .session-calendar { border:0;padding:0;background:transparent; }
.session-periods { margin-bottom:12px; }
.session-large-days { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:104px;gap:6px; }
.session-large-day.is-selected { --day-outline:rgba(var(--accent-rgb),.6); }
.session-select-day { touch-action:manipulation;width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer; }
.session-select-day:focus-visible,.session-calendar-card:focus-visible,.session-calendar-availability:focus-visible { outline:1px solid var(--focus-line);outline-offset:-1px; }
.session-calendar-card { --session-accent:var(--pink);position:relative;z-index:3;isolation:isolate;width:100%;flex:none;display:flex;flex-direction:column;gap:3px;padding:5px 5px 4px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:var(--tile-surface);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--session-accent) 65%,transparent);text-align:left;cursor:pointer; }
.session-card[data-session-open] { cursor:pointer; }
.session-card[data-session-open]:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.session-calendar-card[data-status="confirmed"] { --session-accent:#8ac8a3; }
.offer-request-calendar-card[data-status="accepted"] { --session-accent:#8ac8a3; }
.offer-day-entry { --day-accent:var(--pink); }
.offer-day-entry[data-status="accepted"] { --day-accent:#8ac8a3; }
.session-calendar-card[data-status="proposal"] { --session-accent:#95b5df; }
.session-calendar-card[data-status="declined"] { --session-accent:#857780; }
.session-calendar-card.is-past { filter:grayscale(1);opacity:.62; }
.session-calendar-card.is-past:is(:hover,:focus-visible) { opacity:1; }
.session-calendar-card>small { color:#838b9b;font-size:8px;line-height:10px; }
.session-calendar-card>strong { color:#e6e6ec;font-size:11px;font-weight:500;line-height:13px;overflow-wrap:anywhere; }
.session-calendar-card>em { color:#b6a5b0;font-size:11px;font-style:normal;line-height:13px;overflow-wrap:anywhere; }
.session-calendar-card>span { color:var(--session-accent);font-size:8px;line-height:10px;overflow-wrap:anywhere; }
.session-calendar-availability { flex:none;display:flex;flex-direction:column;gap:2px;padding:5px 3px;border:1px dashed #8ac8a333;border-radius:6px;background:#8ac8a308;color:#8ac8a3;text-align:left;cursor:pointer;touch-action:manipulation;transition:background .16s,border-color .16s,transform .16s; }
.session-calendar-availability:active { transform:scale(.97);border-color:#8ac8a36b;background:#8ac8a314; }
.session-calendar-availability>span,.session-calendar-availability>small { font-size:8px;line-height:11px; }
.session-month { display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;align-items:center;gap:6px;margin-bottom:10px; }
.session-month span { min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.session-calendar .calendar-view-switch { margin-bottom:12px; }
.session-month { color:var(--muted);font-size:12px; }
.session-month button:not(.calendar-today) { width:36px;height:34px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.018);color:var(--muted);font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
.session-month button:not(.calendar-today):active { transform:scale(.94); }
.session-month button:not(.calendar-today):hover,.session-month button:not(.calendar-today):focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.045);color:var(--text); }
.release-range .calendar-today,.session-month .calendar-today { width:auto;height:34px;min-height:34px;padding:0 8px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:10px;background:rgba(var(--accent-rgb),.055);color:#e2aabc;font-family:inherit;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer; }
.release-range .calendar-today:hover,.session-month .calendar-today:hover,.release-range .calendar-today:focus-visible,.session-month .calendar-today:focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.1);color:#fff; }
.session-week,.session-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; text-align:center; }
.session-week { color:#96909b; font-size:12px; margin-bottom:7px; }
.session-day { position:relative; height:42px; border:1px solid transparent; border-radius:10px; background:transparent; color:#dfdbe1; font:inherit; font-size:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.session-day.is-today { border-color:#62505d; }
.session-day[aria-pressed="true"] { color:#f4d8e3; background:rgba(var(--accent-rgb),.075); border-color:#926274; }
.session-day small { display:flex; gap:3px; height:4px; }
.session-day i { width:4px; height:4px; border-radius:50%; background:#d791ad; }
.session-day i[data-status="confirmed"] { background:#89c7b0; }
.session-day i[data-status="proposal"] { background:#95b5df; }
.session-day i[data-status="declined"] { background:#857780; }
.session-agenda-heading { margin:20px 0 12px; font-size:14px; }
.session-agenda-heading button { border:0; background:none; color:#c292a7; font:inherit; font-size:12px; }
.session-agenda { display:grid; gap:10px; }
.session-card { padding:15px; border:1px solid #2c2930; border-radius:14px; background:#121216; }
.session-card.is-past { filter:grayscale(1);opacity:.68; }
.session-card.is-past:is(:hover,:focus-within) { opacity:1; }
.session-card-top { color:#aaa3ae; font-size:12px; flex-wrap:wrap; }
.session-status { color:#dca3b8; }
.session-status[data-status="confirmed"] { color:#89c7b0; }
.session-status[data-status="proposal"] { color:#95b5df; }
.session-status[data-status="declined"] { color:#9e8a94; }
.session-card h2 { font-family:inherit; font-size:17px; font-weight:500; margin:12px 0 5px; overflow-wrap:anywhere; }
.session-card p { color:#a9a1ac; font-size:13px; line-height:1.5; margin:4px 0; overflow-wrap:anywhere; }
.session-card-actions { display:flex; flex-wrap:wrap; gap:7px; }
.session-card-actions:empty { display:none; }
.session-card-actions button { margin-top:12px; padding:8px 10px; border:1px solid #3d303b; border-radius:8px; background:#251c24; color:#e5bdce; font:inherit; font-size:12px; }
.session-empty { padding:18px 12px; text-align:center; color:#aaa1ad; font-size:14px; border:1px dashed #302a32; border-radius:14px; background:var(--bg); }
.session-empty button { display:block; margin:12px auto 0; border:0; background:none; font:inherit; color:#d99bb4; }
.session-upcoming { margin-top:22px; }
.session-upcoming>small,.session-demo { color:#8f8793; font-size:12px; line-height:1.5; }
.session-upcoming button { display:flex; flex-direction:column; gap:5px; width:100%; text-align:left; padding:12px 0; border:0; border-bottom:1px solid #242128; background:transparent; color:#d3cbd6; font:inherit; font-size:14px; overflow-wrap:anywhere; }
.session-upcoming button small { color:#9c929f; font-size:12px; }
.session-upcoming button.is-past { filter:grayscale(1);opacity:.62; }
.session-upcoming button.is-past:is(:hover,:focus-visible) { opacity:1; }
.session-demo { margin-top:18px; }
.session-dialog { width:min(350px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:20px; margin:auto; border:1px solid rgba(255,255,255,.1); border-radius:20px; background:rgba(9,10,13,.94); color:#e8dfe9; box-sizing:border-box; }
.session-dialog::backdrop { background:#000a; backdrop-filter:blur(7px); }
.session-dialog-heading { margin-bottom:18px; }
.session-dialog-heading h2 { margin:0; font:500 19px/1.3 inherit; font-family:inherit; font-size:19px; }
.session-dialog-heading button { background:none; border:0; color:#b6a9b9; font-size:26px; }
.session-dialog label { display:flex; flex-direction:column; gap:7px; margin:12px 0; color:#b4a9b8; font-size:13px; min-width:0; }
.session-dialog input,.session-dialog select,.session-dialog textarea { width:100%; box-sizing:border-box; min-width:0; padding:10px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.1); border-radius:9px; color:#e1d9e5; font:inherit; font-size:16px; color-scheme:dark; }
.session-form-row { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:10px; }
.session-window-note { margin:14px 0 4px;padding:11px 12px;border:1px solid #2e443e;border-radius:11px;background:#111a18; }
.session-window-note small,.session-window-note strong { display:block; }
.session-window-note small { color:#83a99b;font-size:9px;letter-spacing:.08em;text-transform:uppercase; }
.session-window-note strong { margin-top:5px;color:#c9e0d8;font-size:14px;font-weight:500; }
.session-submit { width:100%; padding:12px; background:#bd8198; color:#150f16; border:0; border-radius:10px; font:inherit; font-size:14px; }
.session-form-error,.session-error { color:#e5a4b6; font-size:13px; }
@media(prefers-reduced-motion:no-preference) { .session-dialog[open] { animation:session-appear .28s ease-out; } @keyframes session-appear { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } }
@keyframes notificationPanelIn { from { opacity:0;transform:translateY(-8px) scale(.975); } to { opacity:1;transform:translateY(0) scale(1); } }
/* Artist and studio workspaces share the same restrained mobile surfaces. */
.auth-modal { max-height:calc(100% - 36px); overflow-y:auto; }
.auth-role-choice { display:grid; grid-template-columns:minmax(0,max-content) minmax(0,max-content); gap:8px; width:fit-content; max-width:100%; min-width:0; padding:0; margin:0 0 12px; border:0; }
.auth-role-choice legend { color:var(--muted); font-size:12px; margin-bottom:9px; }
.auth-form .auth-role-choice label { position:relative; margin:0; }
.auth-role-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.auth-role-choice label { --role-tint:205,135,163; }
.auth-role-choice label:has(input[value="studio"]) { --role-tint:124,163,207; }
.auth-role-choice .auth-role-tile { position:relative; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:6px; min-height:36px; margin:0; padding:8px 10px; border:1px solid rgba(var(--role-tint),.18); border-radius:8px; color:#aaa5af; background:linear-gradient(105deg,rgba(var(--role-tint),.09),#111114 88%); cursor:pointer; transition:border-color .2s ease,color .2s ease; }
.auth-role-choice .auth-role-label { padding:0; margin:0; font-size:12px; font-weight:500; line-height:1.35; letter-spacing:0; text-transform:none; color:inherit; }
.auth-role-icon { width:14px; height:14px; flex-shrink:0; fill:none; stroke:rgba(var(--role-tint),.8); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.auth-role-check { display:none; }
.auth-role-choice input:checked+.auth-role-tile { color:#e0dce4; background:linear-gradient(105deg,rgba(var(--role-tint),.1),#111114 92%); border-color:rgba(var(--role-tint),.32); }
.auth-role-choice input:focus-visible+.auth-role-tile { outline:2px solid var(--focus-line); outline-offset:-2px; }
@media(hover:hover) { .auth-role-choice label:hover .auth-role-tile { border-color:rgba(var(--role-tint),.6); } }
@media(prefers-reduced-motion:reduce) { .auth-role-choice .auth-role-tile,.auth-role-check { transition:none; } }
.auth-form .auth-studio-name[hidden] { display:none; }
.hub-tools { gap:10px; }
.hub-tools>.hub-round,.hub-tools>.hub-language { flex-shrink:0; }
.artists-description { color:#96919d; font-size:14px; line-height:1.55; margin:10px 0 24px; }
.artists-list-heading { display:flex; align-items:center; justify-content:space-between; margin:0 2px 12px; color:#aaa3af; font-size:13px; }
.artists-list-heading>span:last-child { color:#8c8392; font-variant-numeric:tabular-nums; }
.artists-directory { display:grid; gap:10px; }
.artists-view-tabs { display:flex;gap:8px;margin:16px 0 24px; }
.artists-view-tabs button { min-width:100px;padding:10px 16px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018);color:var(--muted);font:inherit;font-size:13px;cursor:pointer; }
.artists-view-tabs button[aria-pressed=true] { border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.11);color:var(--text); }
.analytics-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.analytics-summary>div,.analytics-detail>div { min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018); }
.analytics-summary>div { padding:10px 14px; }
.analytics-summary small { display:block;color:var(--muted);font-size:11px;line-height:1.4; }
.analytics-summary strong { display:block;margin-top:5px;color:var(--text);font-size:17px;font-weight:500;overflow-wrap:anywhere; }
.analytics-summary span { display:block;margin-top:2px;color:var(--muted);font-size:12px; }
.analytics-package-credits { margin:26px 0;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018); }
.analytics-credits-heading { display:flex;align-items:center;gap:12px;min-height:32px;list-style:none;cursor:pointer; }
.analytics-credits-heading::-webkit-details-marker { display:none; }
.analytics-credits-heading::marker { content:""; }
.analytics-credits-heading:focus-visible { outline:1px solid var(--focus-line);outline-offset:4px;border-radius:4px; }
.analytics-credits-heading>small { margin-left:auto; }
.analytics-credits-chevron { flex:none;width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:1.5;transform:rotate(-90deg); }
.analytics-package-credits[open]>.analytics-credits-heading .analytics-credits-chevron { transform:none; }
.analytics-credits-heading h3 { margin:0;color:var(--text);font-size:16px;font-weight:500; }
.analytics-credits-heading>small,.analytics-credits-note,.analytics-credit-detail,.analytics-credit-empty { color:var(--muted);font-size:12px;line-height:1.5; }
.analytics-credits-note { margin:8px 0 14px; }
.analytics-credits-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px;align-items:start; }
.analytics-artist-credit { min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.015); }
.analytics-artist-credit>header { display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap; }
.analytics-artist-credit>header strong { font-size:15px;font-weight:500;overflow-wrap:anywhere; }
.analytics-artist-credit>header>span { color:var(--text);font-size:12px;font-variant-numeric:tabular-nums; }
.analytics-credit-entry { margin-top:14px;padding-top:14px;border-top:1px solid var(--line); }
.analytics-credit-caption { display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap; }
.analytics-credit-caption>span { font-size:13px;overflow-wrap:anywhere; }
.analytics-credit-caption>small { color:var(--muted);font-size:11px; }
.analytics-credit-entry>strong { display:block;margin-top:6px;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums; }
.analytics-credit-entry.is-pending>strong { color:var(--muted);font-size:12px; }
.analytics-credit-meter { height:4px;margin:10px 0 7px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.07); }
.analytics-credit-meter>span { display:block;height:100%;background:rgba(var(--accent-rgb),.55);border-radius:inherit; }
.analytics-credit-detail { display:block; }
.analytics-credit-empty { margin:12px 0 0; }
@media(max-width:600px) { .analytics-credits-grid { grid-template-columns:1fr; } .analytics-artist-credit { padding:14px; } }
.analytics-list-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 2px 12px;color:var(--muted);font-size:12px; }
.analytics-list-head select { max-width:150px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#151518;color:var(--text);font:inherit; }
.analytics-directory { display:grid;gap:8px; }
.analytics-row { display:flex;align-items:center;gap:12px;width:100%;padding:15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.015);color:var(--text);text-align:left;font:inherit;cursor:pointer; }
.analytics-row:hover { border-color:rgba(var(--accent-rgb),.38);background:rgba(var(--accent-rgb),.055); }
.analytics-row>span { flex:1;min-width:0; }
.analytics-row strong,.analytics-row small { display:block; }
.analytics-row strong { font-size:14px;font-weight:500;overflow-wrap:anywhere; }
.analytics-row small { margin-top:5px;color:var(--muted);font-size:11px; }
.analytics-row b { color:var(--pink);font-size:12px;font-weight:500;white-space:nowrap; }
.analytics-row i { color:var(--muted);font-style:normal; }
.artist-analytics-dialog { box-sizing:border-box;width:min(720px,calc(100vw - 32px));max-height:min(88dvh,900px);margin:auto;padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(150deg,rgba(15,14,18,.58),rgba(9,9,12,.68) 66%);color:var(--text);box-shadow:0 32px 90px rgba(0,0,0,.74);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;animation:artistAnalyticsIn .32s cubic-bezier(.16,1,.3,1) both; }
@keyframes artistAnalyticsIn { from { opacity:0;transform:translateY(16px) scale(.985); } to { opacity:1;transform:translateY(0) scale(1); } }
.artist-analytics-dialog::-webkit-scrollbar { display:none; }
.artist-analytics-dialog::backdrop { background:rgba(0,0,0,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px); }
.artist-analytics-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.artist-analytics-dialog-head .section-kicker { margin:0; }
.artist-analytics-dialog-head button { width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:var(--muted);font-size:23px;cursor:pointer; }
.artist-analytics-dialog h2 { margin:15px 0 22px;font-size:29px;font-weight:500;line-height:1.15;overflow-wrap:anywhere; }
.artist-analytics-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px; }
.artist-analytics-metrics>div { min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018); }
.artist-analytics-metrics small { display:block;color:var(--muted);font-size:12px;line-height:1.4; }
.artist-analytics-metrics strong { display:block;margin-top:8px;color:var(--text);font-size:20px;font-weight:500;overflow-wrap:anywhere; }
.artist-analytics-metrics span { display:block;margin-top:4px;color:var(--muted);font-size:12px; }
.analytics-range { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px; }
.analytics-overview-range { margin:18px 0 8px; }
.analytics-range button { padding:8px 12px;border:1px solid transparent;border-radius:8px;background:var(--ui-panel);color:var(--muted);font:inherit;font-size:12px;cursor:pointer;transition:background-color .18s ease,color .18s ease; }
.analytics-range button[aria-pressed=true] { background:var(--ui-selected);color:var(--text); }
@media(hover:hover) and (pointer:fine) { .analytics-range button:not([aria-pressed=true]):hover { background:var(--ui-hover);color:var(--text); } }
.analytics-range button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.analytics-chart { min-width:0;margin:12px 0;padding:18px 18px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.012); }
.analytics-chart h3,.artist-analytics-revenue-head h3 { margin:0;color:var(--text);font-size:14px;font-weight:500; }
.analytics-chart-bars { display:grid;grid-template-columns:repeat(var(--chart-points),minmax(42px,1fr));gap:10px;align-items:end;overflow-x:auto;margin-top:14px;scrollbar-width:none; }
.analytics-chart-bars::-webkit-scrollbar { display:none; }
.analytics-chart-column { display:grid;grid-template-rows:18px 84px 18px;min-width:0;gap:5px;text-align:center; }
.analytics-chart-value { overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.analytics-chart-track { display:flex;align-items:flex-end;justify-content:center;height:84px;border-bottom:1px solid rgba(255,255,255,.1); }
.analytics-chart-track i { display:block;width:45%;max-width:32px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--pink),rgba(var(--accent-rgb),.34)); }
.analytics-chart-column small { color:var(--muted);font-size:11px; }
.artist-analytics-revenue-head { display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:23px 1px 8px; }
.artist-analytics-revenue-head small,.analytics-chart-empty,.artist-analytics-note { color:var(--muted);font-size:12px;line-height:1.5; }
.analytics-chart-empty { padding:12px 0; }
.artist-analytics-note { margin:18px 1px 0; }
@media(max-width:600px) { .artist-analytics-dialog { width:calc(100vw - 24px);max-height:88dvh;padding:20px 16px; } .artist-analytics-metrics>div { padding:12px; } .artist-analytics-metrics strong { font-size:16px; } .analytics-chart { padding:14px 10px; } .analytics-chart-bars { gap:5px; } }
@media(prefers-reduced-motion:reduce) { .artist-analytics-dialog { animation:none; } }
.artist-directory-card { display:flex; align-items:center; gap:14px; width:100%; min-width:0; min-height:70px; padding:12px 14px; text-align:left; font:inherit; color:#ded9e2; border:1px solid #2b2930; border-radius:14px; background:linear-gradient(110deg,rgba(153,168,189,.055),rgba(255,255,255,.012)); cursor:pointer; transition:border-color .2s,background .2s; }
.artist-directory-card[aria-pressed=true] { border-color:#62414f; background:linear-gradient(110deg,rgba(204,130,160,.075),rgba(255,255,255,.012)); }
.artist-directory-add { display:grid;place-items:center;padding:0;color:#9f8d98; }
.artist-directory-add>span { font-size:30px;font-weight:300;line-height:1; }
.artist-directory-add:is(:hover,:focus-visible) { border-color:var(--focus-line);color:var(--pink); }
.studio-invite-dialog { width:min(370px,calc(100% - 28px));padding:18px;border-color:rgba(255,255,255,.12);border-radius:15px;background:#09090d;box-shadow:0 24px 70px rgba(0,0,0,.65); }
.studio-invite-dialog .session-dialog-heading { margin:0 0 14px;padding:0 0 10px;background:transparent; }
.studio-invite-label { margin:0 0 8px;color:var(--muted);font-size:12px; }
.studio-invite-code { display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:9px 10px 9px 14px;border:1px solid rgba(var(--accent-rgb),.115);border-radius:10px;background:rgba(var(--accent-rgb),.0275); }
.studio-invite-code code { min-width:0;overflow-wrap:anywhere;color:var(--text);font-family:inherit;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:.08em;user-select:text; }
.studio-invite-code button,.studio-invite-retry { flex-shrink:0;min-height:38px;padding:8px 11px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:8px;background:rgba(var(--accent-rgb),.09);color:var(--pink);font:inherit;font-size:13px;cursor:pointer; }
.studio-invite-code button:disabled { opacity:.4;cursor:default; }
.studio-invite-retry:not([hidden]) { display:block;margin-top:10px; }
.studio-invite-note { margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.5; }
.studio-invite-feedback { margin:10px 0 0;color:var(--pink);font-size:12px; }
.studio-invite-feedback:empty { display:none; }
.studio-invite-dialog :is([data-invite-copy],[data-invite-retry]):focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.studio-invite-dialog [data-invite-close]:focus-visible { outline:none;color:#fff;text-shadow:0 0 6px rgba(255,255,255,.55); }
.artist-directory-avatar { display:grid; place-items:center; flex:0 0 40px; height:40px; border:1px solid #39343e; border-radius:50%; color:#aeb9c9; font-size:14px; }
.artist-directory-avatar.has-photo { overflow:hidden;border-radius:11px;border-color:rgba(255,255,255,.14); }
.artist-directory-avatar img { display:block;width:100%;height:100%;object-fit:cover; }
.artist-directory-card[aria-pressed=true] .artist-directory-avatar { color:#d99bb4; border-color:#634352; }
.artist-directory-info { display:flex; flex:1; min-width:0; flex-direction:column; gap:6px; }
.artist-directory-info strong { font-size:16px; font-weight:500; overflow-wrap:anywhere; }
.artist-directory-info small { font-size:12px; color:#8f8995; }
.artist-directory-card[aria-pressed=true] .artist-directory-info small,.artist-directory-card[aria-pressed=true] .artist-directory-indicator { color:#ce91aa; }
.artist-directory-indicator { color:#746d7d; font-size:17px; }
.artist-directory-card:focus-visible { outline:2px solid var(--focus-line); outline-offset:-2px; }
.artists-footnote { font-size:12px; margin-top:18px; }
.artists-empty { padding:24px 18px; border:1px solid #2b2930; border-radius:14px; background:#0c0c0f; }
.artists-empty strong { color:#d0c8d5; font-size:15px; font-weight:500; }
.artists-empty p { color:#96919d; font-size:14px; line-height:1.55; margin-bottom:0; }
@media(prefers-reduced-motion:reduce) { .artist-directory-card { transition:none; } }
.invoice-generator-launch { width:100%; padding:12px; margin:4px 0 18px; border:1px solid #634352; border-radius:10px; background:linear-gradient(110deg,#261c25,#111115); color:#dca6bd; font:inherit; font-size:14px; cursor:pointer; }
.invoice-dialog,.document-create-dialog,.session-dialog { max-height:66dvh; overflow-y:auto; overscroll-behavior-y:contain; }
.invoice-dialog [hidden] { display:none!important; }
.invoice-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.invoice-grid input { min-width:0; width:100%; box-sizing:border-box; }
.invoice-item { padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:12px; margin:12px 0; background:rgba(255,255,255,.018); }
.invoice-item label { margin:8px 0; }
.invoice-offer-note { margin:4px 0 8px;color:#a99ca9;font-size:12px;line-height:1.45; }
.invoice-dialog .connection-text { display:inline-block; padding:8px 0; border:0; background:none; color:#c693aa; font:inherit; font-size:13px; cursor:pointer; }
.invoice-total { display:flex; justify-content:space-between; gap:12px; margin:18px 0; padding:14px 0; border-top:1px solid #352a35; color:#d7cbd8; font-size:14px; }
.invoice-total output { font-weight:600; white-space:nowrap; }
.invoice-preview { width:100%; height:420px; max-height:55dvh; border:1px solid #39303d; border-radius:8px; background:white; }
.studio-profile { margin-top:24px; }
.account-heading-row { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px; }
.account-heading-row .section-kicker { margin:0; }
.account-plan-actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;min-width:0;max-width:100%;margin-left:auto; }
.account-plan-actions>span { color:var(--muted);font-size:11px;white-space:nowrap; }
.account-plan-actions>.account-plan-unlimited { display:inline-block;color:#d6b66c; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .account-plan-actions>.account-plan-unlimited { background-image:linear-gradient(110deg,#d6b66c 42%,#fff3c4 50%,#d6b66c 58%);background-size:250% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:account-unlimited-shimmer 5s linear infinite; }
}
@keyframes account-unlimited-shimmer { 0%,86% { background-position:100% 50%; } 100% { background-position:0% 50%; } }
@media(prefers-reduced-motion:reduce) { .account-plan-actions>.account-plan-unlimited { animation:none;background-image:none;color:#d6b66c; } }

.account-plan-actions button { display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:9px;background:rgba(var(--accent-rgb),.055);color:#e8dce2;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer; }
.account-plan-actions button span { color:var(--pink); }
.account-plan-actions button:hover,.account-plan-actions button:focus-visible { border-color:var(--focus-line);background:rgba(var(--accent-rgb),.1);outline:none; }
.session-dialog.studio-plan-dialog { width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 32px);border-color:rgba(255,255,255,.085);background:color-mix(in srgb,#090a0d 85%,var(--bg)); }
.studio-plan-dialog-content { max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:2px; }
.studio-plan-step[hidden] { display:none; }
.studio-plan-dialog .session-dialog-heading { margin-bottom:8px;background:color-mix(in srgb,#090a0d 85%,var(--bg)); }
.studio-plan-dialog .session-dialog-heading .section-kicker { margin:0 0 8px; }
.studio-plan-dialog .session-dialog-heading h2 { font-size:20px; }
.studio-plan-intro { margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5; }
.studio-plan-options { display:grid;gap:9px; }
.studio-plan-option { display:grid;gap:6px;padding:13px 14px;border:1px solid rgba(255,255,255,.085);border-radius:12px;background:color-mix(in srgb,#fff 1.5%,var(--bg)); }
.studio-plan-option>span { color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase; }
.studio-plan-option>strong { display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:18px;font-weight:500; }
.studio-plan-option>strong em { color:var(--text);font-size:16px;font-style:normal;white-space:nowrap; }
.studio-plan-option>strong em small { color:var(--muted);font-size:11px;font-weight:400; }
.studio-plan-option>small { color:var(--muted);font-size:12px; }
.studio-plan-option.is-upgrade { border-color:rgba(var(--accent-rgb),.27);background:color-mix(in srgb,var(--pink) 5%,var(--bg)); }
.studio-plan-option ul { display:grid;gap:7px;margin:5px 0 0;padding-left:17px;color:#d0c7d0;font-size:12px;line-height:1.4; }
.studio-plan-option li::marker { color:var(--pink); }
.studio-plan-detail { margin:15px 2px 0;color:var(--muted);font-size:12px;line-height:1.5; }
.studio-plan-next { display:flex;align-items:center;justify-content:space-between;width:100%;min-height:45px;margin-top:18px;padding:11px 14px;border:1px solid rgba(var(--accent-rgb),.27);border-radius:10px;background:color-mix(in srgb,var(--pink) 8%,var(--bg));color:#e6bed0;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;cursor:pointer; }
.studio-plan-next:hover,.studio-plan-next:focus-visible { border-color:var(--focus-line);background:color-mix(in srgb,var(--pink) 12%,var(--bg));outline:none; }
.studio-plan-next:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.studio-plan-footnote { margin:10px 2px 0;color:var(--muted);font-size:11px;line-height:1.45; }
.studio-plan-payment-heading { justify-content:flex-start; }
.studio-plan-payment-heading>div { flex:1;min-width:0; }
.studio-plan-payment-heading h2:focus { outline:none; }
.studio-plan-review { display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px;border:1px solid rgba(var(--accent-rgb),.27);border-radius:12px;background:color-mix(in srgb,var(--pink) 5%,var(--bg)); }
.studio-plan-review>span { color:var(--text);font-size:17px;font-weight:500; }
.studio-plan-review>strong { color:var(--text);font-size:16px;font-weight:500;white-space:nowrap; }
.studio-plan-review>strong small { color:var(--muted);font-size:11px;font-weight:400; }
.studio-plan-review>small { grid-column:1/-1;color:var(--muted);font-size:11px; }
.studio-plan-billing { margin-top:18px; }
.studio-plan-billing h3 { margin:0 0 10px;color:var(--text);font-size:13px;font-weight:500; }
.studio-plan-dialog .studio-plan-billing label { margin:9px 0;color:var(--muted);font-size:12px; }
.studio-plan-dialog .studio-plan-billing input { background:color-mix(in srgb,#fff 2%,var(--bg));border-color:rgba(255,255,255,.085); }
.studio-plan-checkout { margin-top:18px; }
.studio-plan-checkout>p { margin:0 0 9px;color:var(--text);font-size:13px; }
.studio-plan-checkout>div { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.studio-plan-checkout button { display:grid;gap:4px;min-width:0;min-height:55px;padding:9px 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:color-mix(in srgb,#fff 2.1%,var(--bg));color:#d9d2da;font:inherit;font-size:12px;text-align:left; }
.studio-plan-checkout button:disabled { cursor:not-allowed; }
.studio-plan-checkout button small { color:var(--muted);font-size:10px; }
.studio-plan-checkout>small { display:block;margin-top:11px;color:var(--muted);font-size:11px;line-height:1.45; }
@media(max-width:390px) { .account-plan-actions { gap:5px; }.account-plan-actions>span { display:none; }.account-plan-actions button { padding-inline:8px;font-size:11px; } }
.studio-profile h2 { font:500 22px/1.35 'General Sans',sans-serif; overflow-wrap:anywhere; margin:16px 0 8px; }
.studio-profile p { color:#a99baa; font-size:14px; overflow-wrap:anywhere; }
.role-badge { display:inline-block; border:1px solid #513546; color:#daa1b9; padding:6px 11px; border-radius:10px; font-size:12px; }
.profile-identity { display:grid; justify-items:start; gap:15px; }
.profile-details { width:100%; min-width:0; display:grid; gap:3px; }
.profile-details .account-name { margin:0; }
.profile-details .account-name-row input { padding:2px 0; font-size:18px; line-height:1.3; }
.studio-profile .profile-details .account-email { margin:0; color:#958f9b; font-size:13px; line-height:1.4; }
.account-currency-section { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 22px;padding:0 2px 16px;border-bottom:1px solid var(--line); }
.account-currency-section>div:first-child { min-width:0; }
.account-currency-label { color:var(--text);font-size:13px; }
.account-currency { position:relative;flex:none; }
.account-currency-trigger,.account-currency-options button { border:1px solid var(--line);border-radius:8px;background:var(--tile-surface);color:var(--text);font:inherit;font-size:12px;cursor:pointer; }
.account-currency-trigger { display:flex;align-items:center;gap:7px;min-height:31px;padding:4px 10px; }
.account-currency-trigger span:first-child { color:var(--pink);font-size:14px; }
.account-currency-options { position:absolute;z-index:10;top:calc(100% + 5px);right:0;min-width:100%;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 25px rgba(0,0,0,.35); }
.account-currency-options[hidden] { display:none; }
.account-currency-options button { display:block;width:100%;padding:7px 9px;border-color:transparent;background:transparent;text-align:left;white-space:nowrap; }
.account-currency-options button[aria-pressed="true"],.account-currency-options button:hover { border-color:rgba(var(--accent-rgb),.25);background:rgba(var(--accent-rgb),.08); }
.account-currency-options button span { display:inline-block;min-width:19px;color:var(--pink); }
.studio-profile .account-currency-note { margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.4; }
.studio-profile label { display:flex; flex-direction:column; gap:8px; margin:22px 0; color:#bfb0c1; font-size:13px; }
.studio-profile select { color:#eaddea; background:#19151c; border:1px solid #3b2f3d; padding:10px; border-radius:10px; font:inherit; font-size:16px; max-width:100%; }
.studio-client-list { display:grid; gap:10px; }
.studio-client-card { display:flex; align-items:center; gap:12px; padding:15px 12px; border:1px solid #302932; border-radius:14px; background:var(--tile-surface); }
.client-avatar { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; border:1px solid #554252; border-radius:50%; color:#d5afc2; font-size:12px; }
.studio-client-card>div { min-width:0; flex:1; display:grid; gap:6px; }
.studio-client-card strong { font-size:16px; font-weight:500; overflow-wrap:anywhere; }
.studio-client-card small { color:#b2a5b5; font-size:12px; overflow-wrap:anywhere; }
.studio-client-card div>span { color:#858294; font-size:12px; }
.studio-client-card button { background:none; border:0; color:#ce9ab2; width:28px; height:36px; font-size:21px; }
.studio-form-context { color:#c9a5bc; font-size:14px; }
.studio-document-description { white-space:pre-wrap; overflow-wrap:anywhere; color:#bbafbd; font-size:14px; line-height:1.6; }
.session-role-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:18px 0; font-size:12px; color:#a797ad; }
.session-artist-filter { display:flex;align-items:center;justify-content:flex-start;margin:12px 0;color:var(--muted);font-size:14px; }
.session-artist-filter select { min-height:36px;max-width:min(100%,230px);padding:6px 30px 6px 11px;border:1px solid rgba(255,255,255,.085);border-radius:10px;background:rgba(255,255,255,.025);color:var(--text);font:inherit; }
.session-role-heading button { border:1px solid #453340; background:#201820; padding:8px 10px; border-radius:9px; color:#d8a5bc; font:inherit; }
.session-slots { display:grid; gap:8px; margin-bottom:12px; }
.session-slot { display:flex; align-items:center; justify-content:space-between; padding:12px; gap:10px; border:1px solid #2e443e; border-radius:12px; background:#111a18; }
.session-slot>span { color:#c9e0d8; font-size:14px; }
.session-slot small { display:block; color:#8ab2a3; margin-top:5px; font-size:12px; }
.session-slot button { background:transparent; border:0; color:#9dcbbb; font:inherit; font-size:13px; padding:8px; }
.session-day i[data-status="available"] { background:#8dbbac; }
.uploaded-media { max-width:100%; max-height:100%; }
.file-media-canvas { position:relative; }
.file-media-canvas.has-upload>.file-media-label,.file-media-canvas.has-upload>.file-media-extension { visibility:hidden; }
.file-media-canvas.has-upload>.uploaded-media { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border-radius:12px; background:#08080a; }
.file-media-canvas.has-upload>.file-media-play { z-index:2; }
.file-player>audio.uploaded-media { display:none; }
.uploaded-download { position:absolute; right:13px; bottom:14px; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; color:#d5a0b9; text-decoration:none; margin:0; border-radius:8px; transition:background .15s,color .15s; }
.uploaded-download svg { width:16px; height:16px; pointer-events:none; }
.uploaded-download:hover { background:#d5a0b912; color:#f0c5d9; }
.uploaded-download:focus-visible { outline:2px solid var(--focus-line); outline-offset:-2px; }
.lyrics-upload-player { width:100%; height:38px; display:block; margin:10px 0; border:1px solid rgba(153,168,189,.11);border-radius:20px;background:#0b0d11;color-scheme:dark;filter:brightness(.72); }
.lyrics-upload-player::-webkit-media-controls-panel { background-color:#13161c; }
.studio-dialog input[type="file"] { font-size:13px; }
.document-create-dialog label[hidden],.document-create-dialog .document-offer-note[hidden] { display:none; }
.document-offer-note { margin:0 0 12px;color:#a99ca9;font-size:12px;line-height:1.45; }
.document-offer-summary,.document-recurring-settings,.document-monthly-terms { border:1px solid #493042;border-radius:14px;background:rgba(221,77,138,.06);padding:12px 14px;margin:0 0 14px;line-height:1.45; }
.document-offer-summary[hidden],.document-recurring-settings[hidden] { display:none; }
.document-offer-summary strong,.document-monthly-terms strong { color:#f4d1df; }
.document-offer-summary p,.document-recurring-settings p,.document-monthly-terms p { margin:5px 0 0;color:#b5a8b3;white-space:pre-line;font-size:13px; }
.document-monthly-terms small { display:block;margin-top:8px;color:#d782a6; }
.document-dialog .document-monthly-terms { margin:16px 0 12px;padding:9px 11px;border-color:rgba(221,77,138,.24);background:rgba(221,77,138,.035);border-radius:12px; }
.document-monthly-terms strong { font-size:12px;font-weight:600; }
.document-dialog .document-monthly-terms p { margin-top:4px;font-size:11px;line-height:1.35; }
.document-dialog .document-monthly-terms small { margin-top:5px;font-size:10px; }
.document-studio-footer { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px; }
.document-studio-footer .document-paid-note { margin:0; }
.document-studio-footer button { display:inline-flex;align-items:center;gap:5px;flex:none;border:1px solid #593647;border-radius:9px;background:rgba(221,77,138,.07);color:#e4aac0;padding:5px 8px;font-size:10px;white-space:nowrap;cursor:pointer; }
.document-studio-footer button span:first-child { font-size:16px;line-height:10px; }
.document-studio-footer button:disabled { opacity:.5;cursor:wait; }
.document-recurring-settings label { margin:0; }
.document-recurring-settings input { max-width:110px; }
.document-recurring-control { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;color:#d782a6;font-size:13px; }
.document-recurring-control button { border:1px solid #6f3751;border-radius:10px;background:rgba(221,77,138,.08);color:#f2aac8;padding:8px 11px;cursor:pointer; }
.document-allowance-editor { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin-top:3px; }
.document-allowance-editor label { display:grid;gap:5px;min-width:0;color:var(--muted);font-size:11px; }
.document-allowance-editor label:first-child { grid-column:1/-1; }
.document-allowance-editor label[hidden] { display:none; }
.document-allowance-editor select,.document-allowance-editor input { box-sizing:border-box;min-width:0;width:100%;padding:9px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#111116;color:var(--text);font:inherit;font-size:13px; }
.document-allowance-editor button { align-self:end; }
.connection-card{margin:18px 0;padding:15px;border:1px solid #29272f;border-radius:13px;background:linear-gradient(120deg,#111116,#08080a)}
.connection-card.artist-studios-card{padding:12px;background:linear-gradient(120deg,#0e0e11,#08080a)}
.account-package-credits{padding:14px 16px;background:linear-gradient(120deg,rgba(120,45,74,.08),#08080a)}
.account-package-credit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.1)}
.account-package-credit span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-package-credit strong{color:#86c8a5;font-weight:600}
.account-package-credit small{grid-column:1/-1;color:#98909d}
.offer-credit-remaining{color:#86c8a5;font-weight:600}
.connection-card.studio-requests-card{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.022)}
.connection-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#c5bdc8;margin-bottom:10px}
.artist-studios-card .connection-heading{margin-bottom:6px}
.connection-card button{font:inherit;color:inherit;background:transparent;border:1px solid #343039;border-radius:8px;padding:7px 10px;cursor:pointer}
.artist-studios-card .connection-heading [data-cloud-refresh]{position:relative;display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:0;font-size:10px;line-height:1;transform:translate(5px,-5px)}
.artist-studios-card .connection-heading [data-cloud-refresh]::before{content:"";position:absolute;inset:5px;border:1px solid #343039;border-radius:5px;pointer-events:none}
.connection-card button:disabled{opacity:.4}
.connection-code{display:flex;align-items:center;gap:12px;justify-content:space-between}
.connection-code code{font-size:15px;letter-spacing:.04em;color:#d9a4b9;overflow-wrap:anywhere}
.connection-card .connection-text{border:0;padding:10px 0 0;font-size:12px;color:#a69ca9}
.artist-studios-card .connection-text{padding-top:5px}
.studio-code-strip{margin:18px 0;padding:0 0 10px;border-bottom:1px solid #29272f}
.studio-code-caption{color:var(--muted);font-size:12px;line-height:1.4}
.studio-code-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.studio-code-row code{min-width:0;overflow-wrap:anywhere;font-size:14px;letter-spacing:.015em;color:#d9a4b9}
.studio-code-actions{display:flex;flex-shrink:0;gap:6px}
.studio-code-actions button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.studio-code-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.studio-code-renew{display:block;padding:3px 0;border:0;background:none;color:#a69ca9;font:inherit;font-size:12px;cursor:pointer}
.studio-code-strip button:hover,.studio-code-strip button:focus-visible{color:var(--pink)}
.studio-code-strip button:disabled{opacity:.4;cursor:default}
.connection-card p,.connection-request small{font-size:13px;color:#98909d}
.connection-request{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid #26232b;font-size:14px;overflow-wrap:anywhere}
.connection-request strong{font-weight:500}.connection-request>div{display:flex;gap:8px;font-size:13px}
.connection-card .connection-choice{display:flex;width:100%;justify-content:space-between;gap:10px;margin:8px 0;text-align:left;font-size:14px}
.artist-studios-card .connection-choice{margin:5px 0;padding:5px 8px}
.connection-choice span{overflow-wrap:anywhere}.connection-choice small{font-size:12px;color:#948997}.connection-choice[aria-pressed=true]{border-color:#856172;background:linear-gradient(110deg,#251b23,transparent)}
.connection-error{color:#e4a3bc;font-size:13px}.studio-profile{overflow-wrap:anywhere}
.account-legal { margin:27px 0 4px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.018); }
.account-tour-launch { display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:24px 0 0;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0c0c0f;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer; }
.account-tour-launch>span:last-child { color:var(--pink);font-size:18px; }
.account-tour-launch:is(:hover,:focus-visible) { border-color:var(--focus-line);outline:none; }
.account-legal summary { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;padding:11px 15px;list-style:none;cursor:pointer;color:var(--text);font-size:15px;font-weight:500; }
.account-legal summary::-webkit-details-marker { display:none; }
.account-legal summary svg { width:17px;height:17px;flex:none;fill:none;stroke:var(--pink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease; }
.account-legal[open] > summary svg,.account-legal-section[open] > summary svg { transform:rotate(180deg); }
.account-legal summary:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px;border-radius:11px; }
.account-legal-links { display:grid;padding:0 15px 8px; }
.account-legal-links a { display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:9px 1px;border-top:1px solid rgba(255,255,255,.07);color:#bfb7c1;font-size:14px;text-decoration:none; }
.account-legal-links a span:last-child { color:var(--pink);font-size:15px; }
.account-legal-links a:hover,.account-legal-links a:focus-visible { color:var(--text); }
.account-settings-panel { margin:14px 0 0; }
.studio-profile > :is(.account-legal,.account-tour-launch) { box-sizing:border-box;width:100%;margin:14px 0 0; }
.studio-profile > .account-legal summary { box-sizing:border-box;min-height:50px;padding:12px 15px; }
.studio-profile > .account-tour-launch { min-height:52px;padding:12px 15px; }
.account-settings-body { padding:0 15px 15px; }
.account-payments-panel .payment-setup-card { margin:0;padding:1px 0 0; }
.account-payments-panel .payment-setup-heading h3 { margin:0;font-size:15px; }
.account-payments-panel .account-currency-section { margin:15px 0 0;padding:13px 0 0;border-top:1px solid var(--line);border-bottom:0; }
.account-push-panel .account-push-settings { margin:0;padding:0;border:0;background:none; }
.account-push-panel .account-push-settings label { margin-top:0; }
.studio-requests-card.is-compact { margin:0;padding:0;border:0;background:none; }
.studio-requests-card.is-compact p { margin:0; }
.payment-setup-card{margin:22px 0;padding:16px 0}
.payment-settings-retry{min-height:34px;padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.payment-setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:6px}
.payment-setup-heading span:first-child{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.payment-setup-heading h3{margin:5px 0 0;color:var(--text);font-size:17px;font-weight:500}
.payment-sandbox{flex-shrink:0;padding:4px 7px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:999px;color:var(--pink);font-size:10px;letter-spacing:.05em}
.payment-setup-card>p{margin:6px 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.payment-provider{display:flex;align-items:center;width:100%;min-height:54px;margin:8px 0;padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.018);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.payment-provider:hover,.payment-provider:focus-visible{border-color:var(--focus-line);background:rgba(var(--accent-rgb),.035);outline:0}
.payment-provider.is-connected{border-color:rgba(104,194,145,.3);background:linear-gradient(110deg,rgba(63,137,96,.13),rgba(63,137,96,.035));box-shadow:inset 0 0 0 1px rgba(104,194,145,.035)}
.payment-provider.is-connected:hover,.payment-provider.is-connected:focus-visible{border-color:rgba(104,194,145,.46);background:linear-gradient(110deg,rgba(63,137,96,.17),rgba(63,137,96,.05))}
.payment-provider:disabled{opacity:.55;cursor:wait}
.payment-provider-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin-right:11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#d9d4df;font-size:14px;font-weight:600}
.payment-provider-mark.paypal{color:#74a6ff}
.payment-provider.is-connected .payment-provider-mark.paypal{border-color:rgba(104,194,145,.3);background:rgba(104,194,145,.08);color:#8acda8}
.payment-provider>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}
.payment-provider strong{font-size:14px;font-weight:500}
.payment-provider small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.payment-provider>b{color:var(--muted);font-size:15px;font-weight:400}
.payment-provider.is-connected>b{color:#86caa5}
.payment-setup-note{display:block;margin-top:12px;color:#817987;font-size:10px;line-height:1.5}

/* Dialogs and vertical lists stay within their viewport; horizontal filter strips are unchanged. */
dialog,.auth-modal,.calendar-day-list,.notification-center,.release-scroll,.release-shelf,.sessions-section { overflow-x:hidden; overscroll-behavior-x:none; }
dialog form,dialog label,dialog fieldset,dialog form>div { min-width:0; max-width:100%; }
dialog input,dialog select,dialog textarea { min-width:0; max-width:100%; box-sizing:border-box; }
dialog textarea { resize:vertical; }
.session-dialog-heading h2 { min-width:0; overflow-wrap:anywhere; }
.session-dialog-heading button { flex-shrink:0; }

/* Native iOS date/time controls must shrink inside flex labels and grid cells. */
dialog input:is([type="date"],[type="time"],[type="datetime-local"]) {
  -webkit-appearance:none;appearance:none;display:block;
  width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;
  box-sizing:border-box;min-height:44px;text-align:center;
}
dialog input::-webkit-date-and-time-value { min-width:0;min-height:1.4em;text-align:center; }
dialog input::-webkit-datetime-edit { display:inline-flex;max-width:100%;padding:0; }
.session-dialog { padding:18px;overflow:hidden; }
.session-dialog>form { width:100%;min-width:0;max-height:calc(66dvh - 38px);overflow-y:auto;overflow-x:hidden;padding:2px;scroll-padding-block:70px 18px;overscroll-behavior:contain; }
.session-dialog label { display:grid;grid-template-columns:minmax(0,1fr); }
.session-dialog .session-form-row { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.session-dialog-heading { position:sticky;top:-2px;z-index:2;align-items:center;gap:12px;padding:8px 0 12px;margin-bottom:8px;background:#090a0d; }
.session-dialog-heading h2 { flex:1;font-weight:500;line-height:1.3; }
.session-dialog-heading button { display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border-radius:10px;line-height:1;cursor:pointer; }
.session-dialog-heading button:focus { outline:none; }
.session-dialog-heading button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.session-dialog .session-submit { margin-bottom:8px; }
.connect-studio-dialog { padding:14px; }
.connect-studio-dialog>form { padding:0; }
.connect-studio-dialog .session-dialog-heading { padding:2px 0 4px;margin-bottom:2px; }
.connect-studio-dialog label { gap:4px;margin:6px 0; }
.connect-studio-dialog input { padding:8px 10px; }
.connect-studio-dialog .session-form-error:empty { display:none; }
.connect-studio-dialog .session-submit { padding:9px;margin:4px 0 0; }
/* Sessions use the same quiet, translucent surfaces as projects and Artists. */
.service-offers :is(.offer-card,.offer-request,.offer-empty),.offer-picker-item,.sessions-section .session-card { border-color:rgba(153,168,189,.11);border-radius:14px;background:linear-gradient(110deg,rgba(153,168,189,.055),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(210,220,235,.025); }
.service-offers .offer-card { position:relative;overflow:hidden;isolation:isolate; }
/* Crop the branches at the card edge so the blossoms grow in from the right. */
.service-offers .offer-card::before { content:"";position:absolute;top:5px;right:-12px;width:min(128px,calc(100% - 16px));height:auto;aspect-ratio:128 / 82;background-image:url("./assets/offer-blossoms-sprite.webp?v=1");background-position:0 0;background-size:1100% 100%;background-repeat:no-repeat;opacity:.28;pointer-events:none;z-index:0; }
.service-offers .offer-card:nth-child(11n + 2)::before { background-position-x:10%; }
.service-offers .offer-card:nth-child(11n + 3)::before { background-position-x:20%; }
.service-offers .offer-card:nth-child(11n + 4)::before { background-position-x:30%; }
.service-offers .offer-card:nth-child(11n + 5)::before { background-position-x:40%; }
.service-offers .offer-card:nth-child(11n + 6)::before { background-position-x:50%; }
.service-offers .offer-card:nth-child(11n + 7)::before { background-position-x:60%; }
.service-offers .offer-card:nth-child(11n + 8)::before { background-position-x:70%; }
.service-offers .offer-card:nth-child(11n + 9)::before { background-position-x:80%; }
.service-offers .offer-card:nth-child(11n + 10)::before { background-position-x:90%; }
.service-offers .offer-card:nth-child(11n + 11)::before { background-position-x:100%; }
.service-offers .offer-card:has(.offer-edit)::before { top:52px; }
.service-offers .offer-card > * { position:relative;z-index:1; }
.service-offers :is(.offer-kind,.offer-allowance),.offer-dialog :is(.offer-kind,.offer-allowance),.session-role-heading { color:var(--muted); }
.offers-intro h2,.offer-requests-title { font-size:18px; }
.service-offers .offer-edit { border-radius:11px;color:var(--muted);background:rgba(255,255,255,.018);border-color:rgba(255,255,255,.075); }
.service-offers :is(.offer-primary,.offer-request-actions button),.sessions-section :is(.session-role-heading button,.session-card-actions button),.sessions-section .session-dialog .session-submit,.offer-dialog .session-submit { border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.025);color:var(--text);min-height:44px; }
.service-offers .offer-custom,.sessions-section :is(.session-empty button,.session-agenda-heading button) { color:var(--muted); }
.offer-studio-picker select { background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.075);color:var(--text); }
.service-offers button,.offer-picker-item { transition:background-color .18s,border-color .18s,color .18s; }
.service-offers button:not(:disabled):is(:hover,:focus-visible),.offer-picker-item:is(:hover,:focus-visible),.sessions-section :is(.session-role-heading button,.session-card-actions button):is(:hover,:focus-visible),.offer-dialog .session-submit:is(:hover,:focus-visible) { background:rgba(255,255,255,.055);border-color:rgba(153,168,189,.3);color:var(--text); }
.service-offers button:focus-visible,.offer-picker-item:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.sessions-section .session-dialog,.offer-dialog { background:linear-gradient(145deg,rgba(12,14,18,.94),rgba(6,7,9,.96));border-color:rgba(153,168,189,.14);color:var(--text); }
.sessions-section .session-dialog .session-dialog-heading,.offer-dialog .session-dialog-heading { background:#0c0e12; }
.sessions-section .session-dialog :is(input,select,textarea),.offer-dialog :is(input,select,textarea) { background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.1);color:var(--text);border-radius:10px; }
.sessions-section .session-dialog label,.offer-dialog label { color:var(--muted); }
.offer-booking-total { color:var(--text);background:rgba(255,255,255,.018); }
.session-allowance-banner { display:grid;gap:4px;margin:12px 0;padding:11px 12px;border:1px solid rgba(115,200,153,.28);border-radius:11px;background:rgba(55,135,88,.09);color:#cde8d6;font-size:13px;line-height:1.4; }
.session-allowance-banner strong { font-size:13px;font-weight:600; }
.session-allowance-banner span,.session-allowance-banner small { color:#abc9b5;font-size:12px; }
.offer-picker-group { margin:12px 0 5px;color:var(--text);font-size:13px;font-weight:600; }
.offer-picker-hint { margin:0 0 9px;color:var(--muted);font-size:12px;line-height:1.4; }
.offer-picker-included { display:block;margin-top:5px;color:#a9d7b6;font-size:12px; }

/* Desktop workspace. Below this breakpoint the original phone layout is untouched. */
@media (min-width:1024px) {
  #app { --desktop-rail:220px;--desktop-orbit-entry-offset:-110px;--desktop-content-center-offset:110px; }
  .hub-account-context>.hub-profile { display:none; }
  .desktop-sidebar { position:absolute;inset:0 auto 0 0;z-index:12;width:var(--desktop-rail);display:flex;flex-direction:column;padding:32px 18px 24px;border-right:1px solid var(--line);background:#09090c; }
  .desktop-brand { width:120px;height:66px;padding:0;border:0;background:transparent;cursor:pointer;margin:0 auto 20px; }
  .desktop-brand img { display:block;width:100%;height:auto; }
  .desktop-caption { margin:0 12px 24px;color:var(--muted);font-size:12px;letter-spacing:.08em; }
  .desktop-sidebar nav { display:grid;gap:8px; }
  .desktop-sidebar nav button { display:flex;align-items:center;gap:14px;width:100%;min-height:46px;padding:12px;border:1px solid rgba(255,255,255,.085);border-radius:11px;background:rgba(255,255,255,.018);color:var(--muted);text-align:left;font-size:14px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease; }
  .desktop-sidebar nav button:hover,.desktop-sidebar .desktop-account:hover { color:var(--text);background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.16); }
  .desktop-sidebar button[aria-current="page"] { color:var(--text);background:rgba(var(--accent-rgb),.13);border-color:rgba(var(--accent-rgb),.4); }
  .desktop-sidebar button[aria-current="page"] :is(.hub-icon,.desktop-home-icon) { color:var(--pink); }
  .desktop-sidebar button[aria-current="page"]:hover { background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.55); }
  .desktop-sidebar button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
  .desktop-sidebar .hub-icon { flex:none;width:20px;height:20px;color:currentColor; }
  .desktop-sidebar .hub-icon-render { width:22px;height:22px;margin:-1px; }
  .desktop-sidebar .hub-icon>* { animation:none;stroke-dasharray:none;stroke-dashoffset:0; }
  .desktop-home-icon { width:20px;text-align:center;font-size:23px;line-height:20px; }
  .desktop-quick-upload { display:flex;align-items:center;gap:10px;flex:none;width:100%;min-height:46px;margin-top:auto;padding:10px 12px;border:1px dashed rgba(var(--accent-rgb),.34);border-radius:11px;background:rgba(var(--accent-rgb),.025);color:#bcaab3;text-align:left;font:inherit;font-size:12px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease; }
  .desktop-quick-upload svg { flex:none;width:20px;height:20px;fill:none;stroke:var(--pink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
  .desktop-quick-upload span { overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
  .desktop-quick-upload:hover,.desktop-quick-upload.is-dragover { border-color:var(--pink);background:rgba(var(--accent-rgb),.09);color:var(--text); }
  .desktop-quick-upload.is-uploading { cursor:progress; }
  .desktop-quick-upload.is-success { border-color:rgba(138,200,163,.5);background:rgba(138,200,163,.055);color:#9acbab; }
  .desktop-quick-upload.is-success svg { stroke:#9acbab; }
  .desktop-quick-upload.is-error { border-color:rgba(var(--accent-rgb),.5);color:#e7a1b1; }
  .desktop-quick-upload:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
  .desktop-sidebar .desktop-secondary-nav { margin-top:8px; }
  .desktop-account { margin-top:8px;display:flex;align-items:center;gap:12px;padding:12px 8px;border:1px solid rgba(255,255,255,.085);border-radius:11px;background:rgba(255,255,255,.018);text-align:left;font-size:14px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease; }
  .desktop-account.is-below-secondary { margin-top:8px; }
  .desktop-account>span:first-child { display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #53404c;border-radius:50%;color:#d9a4b9;font-size:12px; }
  .desktop-account>.desktop-account-avatar.has-image { overflow:hidden;border-radius:10px; }
  .desktop-account-avatar img { display:block;width:100%;height:100%;object-fit:cover; }
  .desktop-account-avatar img.is-logo { object-fit:contain;padding:2px; }
  .desktop-account small { display:block;margin-top:4px;color:var(--muted);font-size:12px; }
  #app>.hub-shell { width:calc(100% - var(--desktop-rail));max-width:none;margin-left:var(--desktop-rail);box-shadow:none;padding:28px 40px 32px; }
  #app>.hub-shell>.hub-tools { margin-bottom:30px; }
  .section-kicker { font-size:14px;letter-spacing:.12em; }
  .section-note { max-width:680px;font-size:16px;margin:14px 0 26px; }
  #app>.hub-shell:not(.hub-section):not(.release-shell)>.hub-map { inset:0; }
  .orbit-sakura { width:clamp(184px,18vw,293px);opacity:.67; }
  .orbit-sakura-upper { top:15%;left:0; }
  .orbit-sakura-lower { right:0;bottom:12%; }
  #app>.hub-shell:not(.hub-section):not(.release-shell):not(.orbit-settled)>.hub-map { animation:desktopOrbitShiftIn .9s calc(0ms - var(--sakura-intro-elapsed,0ms)) cubic-bezier(.22,1,.36,1) both; }
  #app>.hub-shell.logo-handoff>.hub-map { animation:none!important; }
  /* Preserve the original orbit scaling, but render the logo outside that scaled layer. */
  .hub-map .hub-orbit-system { scale:none;--orbit-radius:169; }
  .hub-map .hub-brand { width:137.2px;height:137.2px; }
  .hub-map .hub-brand img { width:103.6px; }
  .hub-shell>.inline-chat { left:50%;right:auto;width:min(560px,calc(100% - 80px));transform:translateX(-50%);bottom:28px; }
  .hub-shell>.inline-chat .inline-compose { min-height:52px; }
  .hub-shell>.direct-chat-dock,.hub-shell>.direct-chat-dock .inline-compose { height:52px; }
  .notification-center { left:auto;right:40px;width:310px; }
  .notification-center.is-detail { left:auto;right:40px;width:330px; }
  .auth-modal { left:calc(50% - 210px);right:auto;width:420px; }
  .auth-kicker,.auth-form label span,.auth-switch,.auth-error { font-size:12px; }
  .auth-submit { height:44px;font-size:14px; }
  .projects-scroll-content { padding:0; }
  .project-grid,.document-grid { grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px; }
  .projects-section .project-grid .project-card { min-height:158px;padding:18px; }
  .projects-section .project-grid .project-card-copy strong { font-size:17px; }
  .projects-section .project-grid .project-card-copy small { font-size:12px; }
  .projects-section .project-grid .project-state { font-size:11px;padding:4px 8px; }
  .projects-section .project-detail { max-width:840px;margin:0 auto;padding:28px; }
  .document-card { min-height:200px;padding:18px; }
  .documents-section .document-card-top { margin-bottom:12px; }
  .document-card-copy strong { font-size:18px; }
  .document-card-copy small,.document-card-copy>span,.document-date,.document-card-top small { font-size:12px; }
  .file-filter-panel { grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 0;margin-bottom:18px; }
  .file-filter-row { grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start; }
  .file-filter-label { padding-top:9px;overflow-wrap:anywhere; }
  .file-filter-scroll { flex-wrap:wrap;overflow:visible;padding-right:0;gap:8px; }
  .file-filter-label { font-size:11px; }
  .file-filter-chip { font-size:13px;min-height:32px; }
  .file-search-box { height:42px;max-width:600px;margin-bottom:16px; }
  .file-search-box input::placeholder { font-size:14px; }
  #app>.files-section { padding:28px 40px 32px; }
  .files-scroll-content { padding:0; }
  .files-fixed-header { margin-inline:0;padding-inline:0; }
  .files-list-scroll { margin-inline:0;padding-inline:0; }
  .files-section.file-player-open .files-list-scroll { padding-bottom:175px; }
  .file-list { gap:10px; }
  .file-results { width:100%;min-width:0;margin:0;padding:8px; }
  .file-list { min-width:0;grid-template-columns:minmax(0,1fr); }
  .file-list>article.file-card { height:auto;min-height:76px;padding:14px 18px;grid-template-columns:38px minmax(0,1fr) auto; }
  .file-list>article.file-card .file-card-copy strong { font-size:16px; }
  .file-list>article.file-card .file-card-copy small { font-size:12px; }
  .file-list>article.file-card .file-card-copy .file-added-date { font-size:11px; }
  .file-list>article.file-card .file-card-copy strong,.file-list>article.file-card .file-card-copy small { white-space:normal;overflow-wrap:anywhere;line-height:1.45; }
  .file-card-side { flex-wrap:wrap;max-width:100px; }
  .document-card-copy,.document-card-top,.document-card-bottom { min-width:0;max-width:100%; }
  .document-card-copy>*,.document-card-top>small,.document-card-bottom b { min-width:0;overflow-wrap:anywhere;white-space:normal; }
  .document-card-top>small { text-align:right; }
  .document-icon,.document-card-bottom>span { flex-shrink:0; }
  .document-card-bottom { margin-top:auto;padding-top:8px; }
  .document-card-copy { padding-bottom:8px; }
  .files-section>.file-player { left:40px;right:40px;bottom:24px; }
  .files-section.file-player-open:not(.file-preview-open)::before { height:177px; }
  .file-player-controls { position:relative; }
  .file-player-volume { position:absolute;left:0;bottom:3px;width:76px;height:32px;display:flex;align-items:center;gap:6px;color:#ddd9de; }
  .file-player-volume svg { flex:none;width:16px;height:16px; }
  .file-player-volume input { flex:1;min-width:0;height:20px;margin:0;appearance:none;background:transparent;cursor:pointer; }
  .file-player-volume input::-webkit-slider-runnable-track { height:3px;border-radius:3px;background:linear-gradient(90deg,var(--pink) 0 var(--volume-progress,100%),rgba(255,255,255,.28) var(--volume-progress,100%) 100%); }
  .file-player-volume input::-webkit-slider-thumb { width:9px;height:9px;margin-top:-3px;border:1px solid var(--pink);border-radius:50%;appearance:none;background:#fff; }
  .file-player-volume input::-moz-range-track { height:3px;border-radius:3px;background:rgba(255,255,255,.28); }
  .file-player-volume input::-moz-range-progress { height:3px;background:var(--pink); }
  .file-player-volume input::-moz-range-thumb { width:9px;height:9px;border:1px solid var(--pink);border-radius:50%;background:#fff; }
  .file-player-volume input:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
  .file-player[data-kind="archive"] .file-player-volume { display:none; }
  .files-section.file-preview-open .file-results { opacity:1;transform:none;pointer-events:auto;width:calc(100% - 370px); }
  .files-section.file-preview-open>.file-player { left:auto;right:40px;width:340px; }
  .release-shell>.release-scroll { flex:0 0 auto; }
  .release-shell>.release-view-toggle { margin-top:-4px; }
  #app>.release-shell { overflow-y:auto; }
  .release-shell>.release-grouped-shelf,.release-shell.calendar-expanded>.release-grouped-shelf { height:auto;min-height:0;max-height:none;margin-top:0;opacity:1;transform:none;overflow:visible;pointer-events:auto; }
  .release-shell .release-project-group:last-child { margin-bottom:0; }
  .release-shell .release-calendar { grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--calendar-weeks),96px);gap:8px; }
  .release-day { padding:8px;border-radius:10px; }
  .release-shell .release-day .release-card { padding:5px 6px;gap:3px; }
  .release-shell .release-day .release-card>strong { font-size:11px;line-height:14px; }
  .release-shell .release-day .release-card>.release-card-kind,.release-shell .release-day .release-card>span { font-size:9px;line-height:12px; }
  .release-grouped-shelf .release-unscheduled { grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px; }
  .release-periods { display:none; }
  .release-range { font-size:14px; }
  .session-large-days { grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:96px;gap:8px; }
  .session-month-toggle { display:flex;margin-top:10px; }
  .session-calendar-card { padding:5px 6px;gap:3px; }
  .session-calendar-card>strong { font-size:11px;line-height:14px; }
  .session-calendar-card>small,.session-calendar-card>span,.session-calendar-availability>span,.session-calendar-availability>small { font-size:9px;line-height:12px; }
  .sessions-view { max-width:540px; }
  .artists-directory { display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px; }
  #app[data-view="account"]>.hub-section { padding-right:max(40px,calc((100vw - 1000px)/2)); }
  .lyrics-section>*:not(.hub-tools) { max-width:900px;margin-left:auto;margin-right:auto; }
  .lyrics-section-builder button { height:36px;font-size:13px; }
  dialog { max-width:min(620px,calc(100vw - 64px)); }
  .calendar-day-dialog { left:calc(50% + var(--desktop-content-center-offset));right:auto;width:min(540px,calc(100vw - var(--desktop-rail) - 64px));translate:-50% 0; }
  .session-detail-dialog { left:calc(50% + var(--desktop-content-center-offset));right:auto;width:min(520px,calc(100vw - var(--desktop-rail) - 64px));translate:-50% 0; }
  .release-date-dialog { left:calc(50% - 220px);right:auto;width:440px; }
  .calendar-day-modal { max-width:540px; }
}
@media (min-width:1024px) and (max-width:1279px) {
  .files-section.file-preview-open .file-results { width:calc(100% - 310px); }
  .files-section.file-preview-open>.file-player { width:290px; }
  .files-section.file-preview-open .file-list>article.file-card { grid-template-columns:32px minmax(0,1fr);padding:12px;gap:8px; }
  .files-section.file-preview-open .file-card-side { grid-column:2;justify-content:flex-start;max-width:none; }
}

/* The former serif display titles need a little more room with General Sans. */
.project-title,.project-detail-head h2,.concept-picker > h1,.orbit-core strong,
.zine-hero strong,.detail-sheet h2 { line-height:1.05; }
.hub-section h1 { line-height:1;transform:none; }

.file-version-stack summary:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.file-version-stack { min-width:0;width:calc(100% - 8px);margin-inline:auto;border:1px solid rgba(160,148,185,.24);border-radius:14px;background:linear-gradient(120deg,rgba(105,95,126,.13),rgba(255,255,255,.012) 72%);overflow:hidden; }
.file-version-stack summary { display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:11px 15px;list-style:none;cursor:pointer; }
.file-version-stack summary::-webkit-details-marker { display:none; }
.file-version-stack-icon { display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(var(--accent-rgb),.17);border-radius:9px;background:rgba(var(--accent-rgb),.035);color:var(--pink);font-size:21px; }
.file-version-stack-copy { min-width:0; }
.file-version-stack-copy strong,.file-version-stack-copy small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.file-version-stack-copy strong { color:var(--text);font-size:14px;font-weight:500; }
.file-version-stack-copy small { margin-top:5px;color:var(--muted);font-size:11px; }
.file-version-stack-chevron { display:grid;place-items:center;width:16px;height:16px;color:var(--pink);transition:transform .2s ease; }
.file-version-stack-chevron svg { display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.file-version-stack[open] .file-version-stack-chevron { transform:rotate(180deg); }
.file-version-stack-items { max-height:min(50vh,400px);overflow-y:auto;padding:0 8px 8px; }
.file-version-stack-items>.file-card { background:rgba(255,255,255,.016); }
.file-list.file-grid>.file-version-stack { grid-column:1/-1; }

.file-layout-switch { display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015); }
.file-layout-switch button { display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer; }
.file-layout-switch button[aria-pressed="true"] { border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.1);color:var(--pink); }
.file-layout-switch button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
.file-layout-switch svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.file-list.file-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.file-list.file-grid>article.file-card { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:40px minmax(0,1fr) auto;align-items:start;gap:9px;width:100%;height:auto;min-height:164px;padding:12px; }
.file-list.file-grid>article.file-card>.file-format-mark { align-self:start;width:38px;height:38px; }
.file-list.file-grid>article.file-card .file-card-copy { display:grid;gap:4px;min-width:0;align-self:start; }
.file-list.file-grid>article.file-card .file-card-copy strong { display:-webkit-box;overflow:hidden;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;line-height:1.35; }
.file-list.file-grid>article.file-card .file-card-copy small { margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px; }
.file-list.file-grid>article.file-card .file-card-copy .file-added-date { font-size:9px; }
.file-list.file-grid>article.file-card .file-card-side { grid-column:1;display:flex;justify-content:space-between;align-items:center;max-width:none;width:100%;padding-top:8px;border-top:1px solid rgba(255,255,255,.07); }
.file-list.file-grid>article.file-card .file-card-side>b { min-width:0;max-width:calc(100% - 38px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.file-list.file-grid>article.file-card.is-delete-ready .file-card-side { padding-right:0; }
@media (min-width:700px) {
  .file-list.file-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px; }
  .file-list.file-grid>article.file-card { min-height:185px;padding:15px; }
  .file-list.file-grid>article.file-card .file-card-copy strong { font-size:15px; }
  .file-list.file-grid>article.file-card .file-card-copy small { font-size:12px; }
  .file-list.file-grid>article.file-card .file-card-copy .file-added-date { font-size:11px; }
}
@media (min-width:1024px) and (max-width:1279px) {
  .files-section.file-preview-open .file-list.file-grid>article.file-card { grid-template-columns:minmax(0,1fr);grid-template-rows:40px minmax(0,1fr) auto;padding:12px;gap:9px; }
  .files-section.file-preview-open .file-list.file-grid>article.file-card .file-card-side { grid-column:1;justify-content:space-between; }
}

/* Opaque underlays keep the ambient particles on empty canvas, not inside UI. */
#app :is(
  .project-card,.project-detail,.project-deadline,.release-day,
  .artist-directory-card,.project-group-empty,.role-badge,
  .offer-card,.offer-request,.offer-empty,.offer-picker-item,.session-card,
  .file-card,
  .file-player,.notification-time-card,.song-feedback-wave,
  .auth-modal,.notification-center,.project-picker,.song-feedback-dialog,
  .session-dialog,.offer-dialog
) { background-color:var(--bg); }
#app :is(
  .project-master,.project-document-row,.file-results,
  .beat-idea-form,.beat-idea-card,.beat-idea-player,
  .account-legal,.connection-card.studio-requests-card,
  .analytics-chart,.studio-plan-option,.calendar-view-switch,
  .offer-setup-choice,.offer-setup fieldset,.offer-setup-currencies label,
  .onboarding-language-options label,.session-calendar-availability,
) { background-color:color-mix(in srgb,#fff 1.2%,var(--bg)); }
#app :is(.project-card,.artist-directory-card,.file-card,.document-card,.offer-card,.offer-request,.offer-empty) { background-image:linear-gradient(110deg,rgba(153,168,189,.032),rgba(255,255,255,.006)); }
#app .artist-directory-card[aria-pressed="true"] { background-image:linear-gradient(110deg,rgba(var(--accent-rgb),.045),rgba(255,255,255,.006)); }
#app :is(.file-search-box,.file-filter-chip) { background-color:color-mix(in srgb,#111319 50%,var(--bg)); }
#app :is(.hub-node,.inline-compose) { background-color:color-mix(in srgb,var(--surface) 45%,var(--bg)); }
#app .hub-connection { background-color:color-mix(in srgb,#18151b 24%,var(--bg)); }
#app :is(.hub-tools>.hub-round:not(.hub-profile),.project-toolbar-actions>.hub-round,.sessions-heading>.hub-round,.release-header-actions>.hub-round) { background-color:color-mix(in srgb,#fff 1.2%,var(--bg)); }
#app :is(.file-card-side>button,.file-player-feedback,.project-master-actions button,.session-card-actions button,.direct-chat-compose button) { background-color:color-mix(in srgb,var(--pink) 3.5%,var(--bg)); }
#app .desktop-sidebar nav button { background-color:color-mix(in srgb,#fff 1.2%,#09090c); }
#app .desktop-sidebar nav button[aria-current="page"] { background-color:color-mix(in srgb,var(--pink) 9%,#09090c); }
#app .desktop-quick-upload { background-color:color-mix(in srgb,var(--pink) 2%,#09090c); }
#app .studio-plan-option.is-upgrade { background-color:color-mix(in srgb,var(--pink) 3.5%,var(--bg)); }
#app .session-calendar-availability { background-color:color-mix(in srgb,#8ac8a3 2%,var(--bg)); }
#app .document-add-card { background-color:color-mix(in srgb,#fff .8%,var(--bg)); }
#app .document-add-card:is(:hover,:focus-visible) { background-color:color-mix(in srgb,var(--pink) 5%,var(--bg)); }
#app .artists-view-tabs button { background-color:color-mix(in srgb,#fff 1.2%,var(--bg)); }
#app .artists-view-tabs button[aria-pressed="true"] { background-color:color-mix(in srgb,var(--pink) 7%,var(--bg)); }
#app .account-logout { background-color:var(--bg); }
#app .account-plan-actions button { background-color:color-mix(in srgb,var(--pink) 3.5%,var(--bg)); }
#app .account-plan-actions button:is(:hover,:focus-visible) { background-color:color-mix(in srgb,var(--pink) 7%,var(--bg)); }
#app .account-photo-trigger { background-color:color-mix(in srgb,var(--pink) 3%,var(--bg)); }
#app .account-tour-launch { background-color:color-mix(in srgb,#fff 1.2%,var(--bg)); }
#app .account-photo-trigger:has(.account-studio-logo) { background-color:var(--bg); }

/* A quieter version of the tour glow stays with the five Orbit destinations. */
#app .hub-node::after { content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 19px 2px rgba(var(--accent-rgb),.0868);pointer-events:none;opacity:0;animation:appOrbitNodeGlow 3.2s ease-in-out infinite; }
#app .hub-chat::after { animation-delay:.2s; }
#app .hub-files::after { animation-delay:.4s; }
#app .hub-invoices::after { animation-delay:.6s; }
#app .hub-upload::after { animation-delay:.8s; }
@keyframes appOrbitNodeGlow { 0%,100% { opacity:.18; } 43% { opacity:.74; } }

/* Optional first-run tour overlays the real app without changing its data. */
.app-tour-layer { position:fixed;inset:0;z-index:10000;pointer-events:none;font-family:'General Sans',sans-serif; }
.app-tour-shade { position:absolute;inset:0;pointer-events:auto; }
.app-tour-layer.is-intro .app-tour-shade { background:rgba(0,0,0,.56);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px); }
.app-tour-spotlight { position:absolute;box-sizing:border-box;border:1px solid rgba(var(--accent-rgb),.68);border-radius:11px;box-shadow:0 0 0 9999px rgba(0,0,0,.52),0 0 18px rgba(var(--accent-rgb),.15);pointer-events:none;transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease; }
.app-tour-spotlight.is-code { border-color:rgba(var(--accent-rgb),.45);border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.52),0 0 12px rgba(var(--accent-rgb),.08); }
.app-tour-spotlight[hidden] { display:none; }
#app.app-tour-orbit-active .hub-node::after { box-shadow:0 0 22px 3px rgba(var(--accent-rgb),.22);animation:appTourNodeGlow 2.7s ease-in-out infinite; }
#app.app-tour-orbit-active .hub-chat::after { animation-delay:.17s; }
#app.app-tour-orbit-active .hub-files::after { animation-delay:.34s; }
#app.app-tour-orbit-active .hub-invoices::after { animation-delay:.51s; }
#app.app-tour-orbit-active .hub-upload::after { animation-delay:.68s; }
@keyframes appTourNodeGlow { 0%,100% { opacity:.18; } 43% { opacity:.82; } }
@media(max-width:600px) {
  #app .hub-node::after { box-shadow:0 0 19px 2px rgba(var(--accent-rgb),.14); }
  #app.app-tour-orbit-active .hub-node::after { box-shadow:0 0 22px 3px rgba(var(--accent-rgb),.34); }
}
.app-tour-panel { position:absolute;box-sizing:border-box;width:min(282px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:15px 16px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(7,8,11,.98);box-shadow:0 16px 42px rgba(0,0,0,.58);color:var(--text);pointer-events:auto; }
.app-tour-panel.is-centered { left:50%;top:50%;transform:translate(-50%,-50%); }
.app-tour-meta { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px; }
.app-tour-eyebrow { display:block;color:var(--pink);font-size:9px;letter-spacing:.11em;font-weight:600; }
.app-tour-count { color:#817a85;font-size:9px; }
.app-tour-panel h2 { margin:8px 0 6px;font-size:17px;font-weight:500;line-height:1.25; }
.app-tour-panel p { margin:0 0 14px;color:#b9b2be;font-size:12px;line-height:1.5; }
.app-tour-actions { display:flex;align-items:center;gap:5px; }
.app-tour-spacer { flex:1; }
.app-tour-actions button { min-height:30px;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(255,255,255,.025);color:#d0c9d4;font:inherit;font-size:10px;cursor:pointer; }
.app-tour-actions button.is-primary { margin-left:auto;border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.09);color:#f3ccdc; }
.app-tour-layer:not(.is-intro) .app-tour-actions { justify-content:center;gap:7px; }
.app-tour-layer:not(.is-intro) .app-tour-spacer { display:none; }
.app-tour-layer:not(.is-intro) .app-tour-actions button.is-primary { margin-left:0; }
.app-tour-actions button:is(:hover,:focus-visible) { border-color:var(--focus-line);outline:none; }
@media(max-width:600px) { .app-tour-panel { width:min(284px,calc(100vw - 20px));padding:13px 14px; } }
@media(prefers-reduced-motion:reduce) { .app-tour-spotlight { transition:none; } #app .hub-node::after { animation:none;opacity:.4; } #app.app-tour-orbit-active .hub-node::after { opacity:.55; } }

/* Optional device backup, kept compact above the file list. */
.file-backup-panel{margin:12px 0 16px;border:1px solid var(--line, #303036);border-radius:16px;background:rgba(12,12,16,.7);font-size:14px}
.file-backup-panel summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 16px;color:var(--text,#eee)}
.file-backup-panel summary span{color:var(--accent,#e56a92);font-size:12px}
.file-backup-content{padding:0 16px 16px;color:var(--muted,#a8a5af);line-height:1.5}
.file-backup-content p{margin:8px 0;overflow-wrap:anywhere}
.file-backup-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.file-backup-actions button,.file-backup-select select{border:1px solid var(--line,#303036);border-radius:10px;padding:10px 12px;background:#101015;color:var(--text,#eee);font:inherit;max-width:100%}
.file-backup-actions button{cursor:pointer}.file-backup-actions button:disabled{opacity:.45;cursor:default}
.file-backup-select{display:grid;gap:6px;max-width:100%}.file-backup-select select{width:100%;min-width:0}
.file-backup-note{font-size:12px}.file-card-copy .file-backup-badge{color:#85ba9b;font-size:11px}.file-card-copy .file-backup-badge.is-failed{color:#e5a56b}
.file-backup-folder strong{color:var(--text,#eee)}
.file-backup-panel summary::after{content:"⌄";color:var(--muted,#a8a5af)}
.file-backup-panel[open] summary::after{transform:rotate(180deg)}
.file-backup-panel summary span{margin-left:auto}

/* Mix bundles: the count and expand action are visible on every screen size. */
.file-version-stack summary{min-height:64px;padding:5px 12px;grid-template-columns:34px minmax(0,1fr) auto;gap:9px}
.file-version-stack-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.file-version-eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:2px;color:var(--pink);font-size:10px;letter-spacing:.04em}
.file-version-eyebrow b{display:inline-grid;place-items:center;min-width:20px;height:17px;padding:0 4px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:6px;font-weight:600}
.file-version-stack-copy small{margin-top:1px;white-space:normal;line-height:1.3;font-size:9px}
.file-version-open-label,.file-version-close-label{color:var(--text)}
.file-version-close-label{display:none}
.file-version-stack[open] .file-version-open-label{display:none}
.file-version-stack[open] .file-version-close-label{display:inline}
@media(max-width:600px){
 .file-version-stack summary{grid-template-columns:30px minmax(0,1fr) 16px;gap:8px;padding:5px 10px}
 .file-version-stack-icon{width:30px;height:32px;border-radius:9px}
 .file-version-stack-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:13px}
 .file-version-stack-items{max-height:none;overflow-y:visible;padding:0 6px 6px}
 .file-version-stack-items .file-card{min-width:0}
}

/* Only the file list scrolls; the toolbar, search and filters remain outside its clipping edge. */
.files-scroll-content{overflow:hidden}
.files-section .file-results{flex:0 0 auto;overflow:visible;overscroll-behavior-y:auto}
/* Crisp clipping edges separate the scrollable library from its fixed controls. */
.files-section.file-player-open .files-list-scroll {
 padding-top:0;padding-bottom:calc(174px + env(safe-area-inset-bottom));
 -webkit-mask-image:none;mask-image:none;
}
.files-section .files-fixed-header { border-bottom:1px solid rgba(255,255,255,.085);box-shadow:none; }
.files-section .file-search-box { margin-bottom:8px; }
.files-section .file-filter-panel { margin-bottom:0;padding:16px 0;border-bottom:0; }
.files-section.file-player-open .file-results { border:0;background:transparent; }
.files-section.file-player-open:not(.file-preview-open)::before {
 left:18px;right:18px;height:calc(166px + env(safe-area-inset-bottom));
 background:var(--bg);border-top:1px solid rgba(255,255,255,.085);
}
@media(min-width:1024px) {
 .files-section.file-player-open .files-list-scroll { padding-bottom:150px; }
 .files-section.file-player-open:not(.file-preview-open)::before { left:40px;right:40px;height:172px; }
}
.file-version-stack-items{max-height:none;overflow-y:visible}
.file-version-stack-items>article.file-card{height:auto;min-height:72px}

/* Mix bundles follow the selected file layout, including their expanded versions. */
.file-list.file-grid>.file-version-stack{grid-column:auto;width:100%;margin:0;align-self:start}
.file-list.file-grid>.file-version-stack>summary{grid-template-columns:minmax(0,1fr) 16px;grid-template-rows:38px minmax(0,1fr) 16px;align-items:start;gap:8px;min-height:164px;padding:12px}
.file-list.file-grid>.file-version-stack>summary .file-version-stack-icon{grid-column:1/-1;grid-row:1;width:38px;height:38px}
.file-list.file-grid>.file-version-stack>summary .file-version-stack-copy{grid-column:1/-1;grid-row:2/4;display:flex;flex-direction:column;align-self:stretch;min-height:0}
.file-list.file-grid>.file-version-stack>summary .file-version-stack-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.35}
.file-list.file-grid>.file-version-stack>summary .file-version-stack-copy small{margin-top:auto;padding-top:6px;padding-right:18px}
.file-list.file-grid>.file-version-stack>summary .file-version-stack-chevron{grid-column:2;grid-row:3;align-self:center}
.file-list.file-grid>.file-version-stack[open]{grid-column:1/-1}
.file-list.file-grid>.file-version-stack[open]>summary{grid-template-columns:34px minmax(0,1fr) 16px;grid-template-rows:auto;align-items:center;min-height:72px}
.file-list.file-grid>.file-version-stack[open]>summary .file-version-stack-icon{grid-column:1;grid-row:1;width:34px;height:34px}
.file-list.file-grid>.file-version-stack[open]>summary .file-version-stack-copy{grid-column:2;grid-row:1;display:block}
.file-list.file-grid>.file-version-stack[open]>summary .file-version-stack-copy small{margin-top:1px;padding:0}
.file-list.file-grid>.file-version-stack[open]>summary .file-version-stack-chevron{grid-column:3;grid-row:1}
@media(min-width:700px){.file-list.file-grid>.file-version-stack:not([open])>summary{min-height:185px;padding:15px}}

/* Keep list/grid selection beside sorting in the shared filter panel. */
.file-sort-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}
.file-sort-controls::-webkit-scrollbar{display:none}
.file-sort-options{flex:0 0 auto;flex-wrap:nowrap;overflow:visible;padding-right:0;gap:5px;max-width:none}
.file-sort-options .file-filter-chip{padding-inline:8px}
.file-sort-controls .file-layout-switch{flex:0 0 auto;align-self:center}
@media(min-width:1024px){.file-sort-controls{gap:12px}}

@media(max-width:1023px){
 .files-section .file-filter-row{grid-template-columns:40px minmax(0,1fr);gap:6px}
 .file-sort-controls{gap:5px}
 .file-sort-options{gap:3px}
 .file-sort-options .file-filter-chip{padding-inline:5px;font-size:8px}
 .file-sort-controls .file-layout-switch{gap:1px;padding:0;border:0;border-radius:0;background:none}
 .file-sort-controls .file-layout-switch button{width:27px;height:29px;border-color:var(--line)}
 .file-sort-controls .file-layout-switch button[aria-pressed="true"]{border-color:rgba(var(--accent-rgb),.28)}
 .file-sort-controls .file-layout-switch svg{width:15px;height:15px}
}

/* Compact session toolbar actions with accessible labels. */
.project-toolbar-actions>:is(.session-services-toggle,.session-availability-add){width:36px;height:36px;padding:0;flex-shrink:0}
.project-toolbar-actions>:is(.session-services-toggle,.session-availability-add) svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Local folder backup belongs to the desktop Files view. */
@media(max-width:1023px){.file-backup-panel{display:none}}

.offer-request-chevron svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round; }
.offer-request[data-hold-id] > summary,.offer-request[data-hold-id] > summary * { -webkit-user-select:none;user-select:none;-webkit-touch-callout:none; }
.offer-request.is-delete-ready > summary .hold-delete-button { display:flex;top:50%;right:4px;transform:translateY(-50%); }
.offer-request.is-delete-ready > summary .offer-request-chevron { visibility:hidden; }
.offer-request.is-delete-ready > summary { padding-right:50px; }

.service-offers .offer-card .offer-saving { color:#83caa5; }

.session-upcoming > summary { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;color:var(--muted);font-size:13px;list-style:none;cursor:pointer; }
.session-upcoming > summary::-webkit-details-marker { display:none; }
.session-upcoming > summary::marker { content:''; }
.session-upcoming > summary svg { flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease; }
.session-upcoming[open] > summary svg { transform:rotate(180deg); }
.session-upcoming > summary:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px;border-radius:4px; }

/* Content-sized offer columns keep short services compact beside longer plans. */
.service-offers .offer-grid { display:block;columns:2;column-gap:10px; }
@media (min-width:1024px) {
 .service-offers .offer-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-count:auto; }
 .service-offers .offer-grid > .offer-card { margin-bottom:0; }
 .service-offers .offer-grid > .offer-empty { grid-column:1 / -1; }
}
.service-offers .offer-grid > .offer-empty { column-span:all; }
.service-offers .offer-card { display:inline-flex;width:100%;padding:12px;gap:7px;min-height:0;margin:0 0 10px;break-inside:avoid;vertical-align:top; }
.service-offers .offer-card-heading { flex-wrap:wrap;gap:6px;min-width:0; }
.service-offers .offer-card .offer-kind { font-size:10px;line-height:1.3; }
.service-offers .offer-card-actions { margin-left:auto;gap:4px; }
.service-offers .offer-card-actions button { width:30px;height:30px;min-height:30px;padding:6px;border-radius:9px; }
.service-offers .offer-grid .offer-card h3 { font-size:15px;line-height:1.25; }
.service-offers .offer-card .offer-price { font-size:17px;line-height:1.3;letter-spacing:-.3px;overflow-wrap:anywhere; }
.service-offers .offer-card :is(.offer-allowance,.offer-description,details) { font-size:11px;line-height:1.4; }
.service-offers .offer-card .offer-primary { margin-top:8px;min-height:38px;padding:7px 8px;font-size:12px; }
.service-offers .offer-card::before { opacity:.18; }

/* First-open marker uses account-specific, synchronized read receipts. */
.document-card-top { flex-wrap:wrap; }
.document-new-badge { display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid rgba(134,200,165,.24);border-radius:6px;background:rgba(134,200,165,.08);color:#86c8a5;font-size:9px;font-weight:600;line-height:1;white-space:nowrap; }
.document-card-top .document-new-badge { margin-right:auto; }
.project-document-copy .document-new-badge { margin-bottom:5px; }

.invoice-preview.document-pdf-viewport { height:min(420px,55dvh);margin-top:12px;box-sizing:border-box; }
.invoice-preview-zoom { display:flex;justify-content:center;gap:8px;margin:10px 0; }
.invoice-preview-zoom button { min-height:32px;padding:5px 12px;border:1px solid #ffffff20;border-radius:8px;background:#ffffff05;color:var(--muted);font:inherit;font-size:12px; }

/* Confirmed payments share one visual state for artists and studios. */
.document-card[data-paid="true"] { --doc-accent:#86c8a5;border-color:#86c8a547;background:linear-gradient(#86c8a50b,#86c8a50b),var(--tile-surface); }
.project-document-row[data-paid="true"] { border-color:#86c8a547;background:#86c8a50b; }
.project-document-row[data-paid="true"] .project-document-icon,.project-document-row[data-paid="true"] .project-document-arrow,.project-document-row[data-paid="true"] .project-document-copy small { color:#86c8a5; }
.document-dialog[data-paid="true"] { border-color:#86c8a547; }
.document-dialog[data-paid="true"] .document-status,.document-dialog[data-paid="true"] .document-paid-note { color:#86c8a5; }
.document-dialog[data-paid="true"] .document-status { background:#86c8a515; }

.document-hold { position:relative;min-width:0;border-radius:15px; }
.document-hold>.document-card { width:100%;height:100%; }
.document-hold>.project-document-row { width:100%; }
.document-hold.is-delete-ready .document-card-top,.document-hold.is-delete-ready .project-document-copy { padding-right:32px; }
.document-hold [data-document] { -webkit-touch-callout:none;user-select:none; }
.document-hold>.hold-delete-button { font-size:21px; }

button.account-package-credit { width:100%;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer; }
button.account-package-credit:disabled { cursor:default;opacity:1; }
button.account-package-credit:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
.account-package-credit .credit-purchased { font-size:10px;color:var(--muted); }
.account-credit-total { display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff24;margin-top:5px;padding-top:12px;font-size:12px; }
.account-credit-total strong { color:#86c8a5;text-align:right; }

.cancellation-settings{display:grid;gap:14px}.cancellation-settings label{display:grid;gap:6px;font-size:13px}.cancellation-settings input,.cancellation-settings select{width:100%;padding:10px;background:#111015;color:inherit;border:1px solid #343038;border-radius:10px}.cancellation-settings p,.session-cancellation p,.session-cancellation-terms{font-size:12px;color:#aaa4ae;line-height:1.6}.session-cancellation{margin-top:20px;padding-top:14px;border-top:1px solid #30272d}.session-cancellation button{margin:6px 6px 0 0;padding:10px 14px;border:1px solid #67404d;border-radius:12px;background:#1a1015;color:inherit}.session-calendar-card[data-status=cancelled],.session-day-entry[data-status=cancelled]{opacity:.45}.session-detail-status[data-status=cancelled],.session-status[data-status=cancelled]{color:#aaa}

.session-cancellation-consent{display:flex!important;align-items:center;gap:10px;font-size:12px}.session-cancellation-consent input{width:18px!important;height:18px;flex:0 0 18px}

.session-cancellation-form p{font-size:14px;line-height:1.6;color:#b6b0b9}.session-cancellation-actions{display:flex;gap:10px;margin-top:20px}.session-cancellation-actions button{flex:1;padding:12px;border:1px solid #65404e;border-radius:12px;background:#21131a;color:#ece7eb}.session-cancellation-actions .session-submit{margin:0}.session-cancellation-actions [data-close]{background:transparent;border-color:#343039}

/* Keep cancellation settings compact inside the account profile. */
.studio-profile .cancellation-settings { display:grid;align-content:start;gap:10px;padding-top:2px;padding-bottom:12px; }
.studio-profile .cancellation-settings label { display:grid;gap:4px;margin:0;font-size:12px;line-height:1.4; }
.studio-profile .cancellation-settings input,
.studio-profile .cancellation-settings select { box-sizing:border-box;width:100%;min-height:38px;padding:7px 10px;font-size:16px;line-height:1.4;border-radius:9px; }
.studio-profile .cancellation-settings p { margin:2px 0;font-size:11px;line-height:1.45; }
.studio-profile .cancellation-settings p:empty { display:none; }
.studio-profile .cancellation-settings button[type="submit"] { -webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;min-height:38px;padding:8px 12px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:9px;background:rgba(var(--accent-rgb),.07);color:var(--pink);font:inherit;font-size:14px;line-height:1.4;cursor:pointer; }
.studio-profile .cancellation-settings button[type="submit"]:hover { background:rgba(var(--accent-rgb),.12); }
.studio-profile .cancellation-settings button[type="submit"]:disabled { opacity:.5;cursor:wait; }

.ended-invoice-notice { position:relative;z-index:3;margin:10px 0 16px;padding:12px 38px 12px 14px;flex-shrink:0; }
.ended-invoice-notice .session-offer-notice-copy strong { font-size:14px; }
.ended-invoice-notice .session-offer-notice-copy span { font-size:11px; }
.ended-invoice-notice .session-offer-notice-actions { margin-top:8px; }

/* The offer picker has no form wrapper, so it owns its scroll container. */
.session-dialog.offer-picker { overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-padding-top:95px; }

.startup-connection-notice { position:fixed;z-index:100;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:13px;width:max-content;max-width:calc(100vw - 36px);box-sizing:border-box;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);box-shadow:0 10px 32px #0005;animation:connectionNoticeIn .25s ease both; }
.startup-connection-notice>span { display:grid;gap:3px;min-width:0; }
.startup-connection-notice small { color:var(--muted);font-size:9px; }
.startup-connection-notice strong { font-size:11.5px;overflow-wrap:anywhere; }
.startup-connection-notice button { border:0;background:transparent;color:var(--muted);font-size:17px;min-width:24px;min-height:24px;cursor:pointer; }
@media(prefers-reduced-motion:reduce) { .startup-connection-notice { animation:none; } }

#app .account-signout-all-text { display:block;width:max-content;max-width:100%;margin:8px auto 0;padding:10px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font:inherit;font-size:11px;line-height:1.4;text-align:center;cursor:pointer; }
#app .account-signout-all-text:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
#app .account-signout-all-text:hover { text-decoration:underline; }
#app .account-signout-all-text:disabled { opacity:.5;cursor:wait; }

.offer-promotion { display:flex;flex-wrap:wrap;gap:4px 7px;color:#ee7777;font-size:11px;line-height:1.5;margin:5px 0; }
.offer-promotion strong { color:#ff8989; }
.offer-promotion span { flex-basis:100%; }
.offer-promotion s { opacity:.8; }
.offer-promotion-settings { --focus-line:#86c8a5;border:1px solid #86c8a52b;border-radius:12px;padding:10px; }
.offer-promotion-settings summary { color:#86c8a5;cursor:pointer; }
.offer-promotion-settings p { font-size:11px;color:var(--muted); }
.offer-promotion-settings label { color:#86c8a5; }
#app .offer-promotion-settings [data-sale-30] { color:#86c8a5;border-color:#86c8a544;background:#86c8a50a; }
.offer-promotion-settings button { color:#86c8a5;border:1px solid #86c8a544;border-radius:8px;background:#86c8a50a;padding:8px; }

@keyframes connectionNoticeIn { from { opacity:0; } to { opacity:1; } }

.document-project-editor { margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:12px; }
.document-project-editor summary { cursor:pointer;color:var(--muted); }
.document-project-editor label { display:grid;gap:5px;margin-top:12px; }
.document-project-editor select { width:100%;min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:8px;font:inherit; }
.document-project-editor p { color:var(--muted);font-size:11px;margin:8px 0; }
.document-project-editor button { border:1px solid rgba(var(--accent-rgb),.3);border-radius:9px;background:rgba(var(--accent-rgb),.07);color:var(--accent);padding:9px 12px;font:inherit;cursor:pointer; }

.document-removal-choice{display:grid;gap:8px;margin:16px 0;color:var(--muted,#a4a0aa);font-size:13px}.document-removal-choice select{width:100%;min-width:0;padding:10px;border:1px solid #49333f;border-radius:10px;background:#141016;color:#eee;font:inherit}

.notification-focus-label{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:7px 0 2px;font-size:10px;font-weight:400;color:#b7a9af;pointer-events:none}.notification-focus-label b{position:absolute;top:10px;right:10px;display:grid;place-items:center;flex:none;width:17px;height:17px;border-radius:50%;background:#a6364b;color:#fff;font-size:10px;font-weight:500}.notification-focus-label>span{line-height:1.3}

:is(.document-dialog,.session-detail-dialog).notification-focus .notification-focus-label b{right:44px;top:14px}
.document-dialog.notification-focus .notification-focus-label b { position:static; }

/* Keep closed version groups and single files aligned in list view. */
.files-section .file-list:not(.file-grid)>.file-version-stack { width:100%;margin-inline:0;box-sizing:border-box; }
.files-section .file-list:not(.file-grid)>.file-version-stack>summary { height:64px;min-height:64px;box-sizing:border-box; }
.files-section .file-list:not(.file-grid)>article.file-card { height:66px;min-height:66px;padding:5px 12px;box-sizing:border-box;grid-template-columns:38px minmax(0,1fr) auto;gap:10px; }
.files-section .file-list:not(.file-grid)>article.file-card .file-card-copy strong { font-size:14px;line-height:1.3;white-space:nowrap; }
.files-section .file-list:not(.file-grid)>article.file-card .file-card-copy small { font-size:10px;line-height:1.3;margin-top:2px;white-space:nowrap; }
.files-section .file-list:not(.file-grid)>article.file-card .file-card-copy .file-added-date { font-size:9px; }

.files-section .file-list:not(.file-grid)>article.file-card .file-card-side { grid-column:3; }

.files-section .file-list:not(.file-grid)>.file-version-stack>.file-version-stack-items:not(.file-grid) { width:calc(100% + 2px);margin-inline:-1px;padding:0; }
.files-section .file-list:not(.file-grid)>article.file-card>.file-format-mark { width:38px;height:38px; }

/* One tile geometry for single files and collapsed version bundles. */
.files-section .file-list.file-grid { --file-tile-height:210px;--file-tile-padding:12px;--file-tile-title:13px;--file-tile-meta:10px; }
.files-section .file-list.file-grid>article.file-card,
.files-section .file-list.file-grid>.file-version-stack:not([open]) { height:var(--file-tile-height);min-height:var(--file-tile-height);box-sizing:border-box;align-self:stretch;border-radius:14px;border-color:rgba(255,255,255,.085); }
.files-section .file-list.file-grid>article.file-card { padding:var(--file-tile-padding);grid-template-rows:38px minmax(0,1fr) 37px;gap:9px; }
.files-section .file-list.file-grid>.file-version-stack:not([open])>summary { height:100%;min-height:0;box-sizing:border-box;padding:var(--file-tile-padding);grid-template-rows:38px minmax(0,1fr) 37px;gap:9px; }
.files-section .file-list.file-grid>article.file-card .file-card-copy strong,
.files-section .file-list.file-grid>.file-version-stack:not([open])>summary .file-version-stack-copy strong { font-size:var(--file-tile-title);font-weight:600;line-height:1.35; }
.files-section .file-list.file-grid>.file-version-stack:not([open])>summary .file-version-stack-copy { gap:4px; }
.files-section .file-list.file-grid>.file-version-stack:not([open])>summary .file-version-stack-copy strong { order:0; }
.files-section .file-list.file-grid>.file-version-stack:not([open])>summary .file-version-eyebrow { order:1;font-size:var(--file-tile-meta);color:var(--muted); }
.files-section .file-list.file-grid>.file-version-stack:not([open])>summary .file-version-stack-copy small { order:2;font-size:var(--file-tile-meta);line-height:1.3;min-height:37px;box-sizing:border-box;padding-top:8px;border-top:1px solid rgba(255,255,255,.07); }
.files-section .file-list.file-grid>.file-version-stack>summary .file-version-stack-icon { border-radius:10px; }
.files-section .file-list.file-grid>.file-version-stack[open] { display:grid;grid-template-columns:subgrid; }
.files-section .file-list.file-grid>.file-version-stack[open]>summary,
.files-section .file-list.file-grid>.file-version-stack[open]>.file-version-stack-items { grid-column:1/-1; }
.files-section .file-list.file-grid>.file-version-stack[open]>.file-version-stack-items { grid-template-columns:subgrid;padding:0;margin-inline:-1px; }
@media(min-width:700px){.files-section .file-list.file-grid { --file-tile-height:230px;--file-tile-padding:15px;--file-tile-title:15px;--file-tile-meta:12px; }}

/* Center the three bundle labels as one compact block in list rows. */
.files-section .file-list:not(.file-grid)>.file-version-stack>summary .file-version-stack-copy { display:flex;flex-direction:column;justify-content:center;align-self:center;gap:1px;transform:translateY(-1px); }
.files-section .file-list:not(.file-grid)>.file-version-stack>summary .file-version-eyebrow { margin:0;line-height:14px;min-height:14px; }
.files-section .file-list:not(.file-grid)>.file-version-stack>summary .file-version-eyebrow b { box-sizing:border-box;min-width:16px;height:14px;padding:0 3px;border-radius:5px;font-size:8px;line-height:12px; }
.files-section .file-list:not(.file-grid)>.file-version-stack>summary .file-version-stack-copy strong { display:block;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.files-section .file-list:not(.file-grid)>.file-version-stack>summary .file-version-stack-copy small { margin:0;line-height:12px; }

/* Bundles use the same audio mark and dimensions as individual files. */
.files-section .file-version-stack>summary .file-version-stack-icon { width:38px;height:38px;border-radius:10px;border:1px solid color-mix(in srgb,var(--pink) 24%,transparent);background:color-mix(in srgb,var(--pink) 5%,transparent);color:var(--pink); }
.files-section .file-version-stack>summary .file-version-stack-icon svg { width:18px;height:18px;stroke-width:1.7; }
.files-section .file-list:not(.file-grid)>.file-version-stack>summary { grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding-inline:12px; }

/* Compact backup settings, opened from the Files toolbar. */
dialog.file-backup-panel{display:none;width:min(420px,calc(100vw - 32px));max-height:80dvh;overflow:auto;margin:auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:#0c0d0f;color:var(--text);box-sizing:border-box}
dialog.file-backup-panel[open]{display:block}
dialog.file-backup-panel::backdrop{background:rgba(0,0,0,.65)}
.file-backup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.file-backup-heading h2{font-size:18px;margin:0}.file-backup-heading button{background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer}
dialog.file-backup-panel .file-backup-content{padding:0;font-size:12px}.file-backup-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;color:var(--text)}.file-backup-toggle button{border:1px solid var(--line);border-radius:9px;padding:6px 15px;background:#17181b;color:var(--muted);cursor:pointer}.file-backup-toggle button[aria-checked="true"]{color:#85ba9b;border-color:#46775b;background:#12251b}.file-backup-toggle button:disabled{opacity:.45}.file-backup-panel [data-backup-status]:empty{display:none}

/* Keep every document filter visible on narrow screens. */
@media(max-width:1023px){
 .documents-section .file-filter-row{align-items:start}
 .documents-section .file-filter-label{padding-top:8px}
 .documents-section .file-filter-scroll{flex-wrap:wrap;overflow:visible;padding-right:0;row-gap:7px}
}

.files-section .file-search-box,.documents-section .file-search-box{border-radius:10px}
.documents-section .document-hold[hidden],.documents-section .document-card[hidden],.documents-section [data-document-search-empty][hidden]{display:none}

/* Fit all document sort choices on one mobile row. */
@media(max-width:1023px){
 .documents-section .file-filter-row:last-child .file-filter-scroll{flex-wrap:nowrap;gap:4px}
 .documents-section .file-filter-row:last-child .file-filter-chip{padding-inline:6px;font-size:9px}
}
@media(max-width:380px){
 .documents-section .file-filter-row:last-child{grid-template-columns:minmax(0,1fr);gap:6px}
 .documents-section .file-filter-row:last-child .file-filter-label{padding-top:0}
}

/* Calendar overview: slim, single-line events stacked within each day. */
.release-day .release-day-projects{gap:3px}
.release-shell .release-day .release-card,
.session-large-day .session-calendar-card,
.session-large-day .session-calendar-availability{height:20px;min-height:20px;max-height:20px;min-width:0;width:100%;flex:0 0 20px;display:flex;flex-direction:row;align-items:center;gap:0;padding:2px 5px;border-radius:4px;overflow:hidden}
.release-shell .release-day .release-card{background:color-mix(in srgb,var(--release-accent) 14%,var(--bg));border-color:color-mix(in srgb,var(--release-accent) 22%,transparent)}
.session-large-day .session-calendar-card{background:color-mix(in srgb,var(--session-accent) 14%,var(--bg));border-color:color-mix(in srgb,var(--session-accent) 22%,transparent)}
.release-shell .release-day .release-card>strong,
.session-large-day .session-calendar-card>strong,
.session-large-day .session-calendar-availability>span{display:block;min-width:0;width:100%;margin:0;font-size:10px;font-weight:500;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.release-shell .release-day .release-card>small,
.release-shell .release-day .release-card>span,
.session-large-day .session-calendar-card>small,
.session-large-day .session-calendar-card>em,
.session-large-day .session-calendar-card>span,
.session-large-day .session-calendar-availability>small{display:none}

/* Session calendar spacing and optically centered navigation. */
.sessions-section .sessions-heading{margin-bottom:18px}
.sessions-section .sessions-heading>.section-kicker{margin-bottom:0}
.release-range button[data-release-shift],.session-month button[data-session-month]{display:flex;align-items:center;justify-content:center;font-size:0}
.release-range button[data-release-shift]::before,.session-month button[data-session-month]::before{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateX(-2px) rotate(45deg)}
.release-range button[data-release-shift="-1"]::before,.session-month button[data-session-month="-1"]::before{transform:translateX(2px) rotate(-135deg)}
.release-shell .calendar-view-switch,.session-calendar .calendar-view-switch{padding:3px;border-radius:10px}
.release-shell .calendar-view-switch button,.session-calendar .calendar-view-switch button{min-height:27px;border-radius:7px}

.analytics-artist-picker{display:grid;gap:7px;margin:0 0 18px;color:var(--muted);font-size:11px}
.analytics-artist-picker select{width:100%;max-width:340px;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--tile-surface);color:var(--text);font:inherit;font-size:13px}
.analytics-artist-picker select:focus-visible{outline:1px solid var(--focus-line);outline-offset:-2px}

.document-card-copy .document-billing-kind{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.4}
.document-billing-summary{font-size:12px;line-height:1.6;color:var(--text);padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.025)}

.offer-setup .offer-setup-savings{margin:12px 0 0;color:#8ac8a3;font-size:11px;line-height:1.5}

/* Shared chat references remain inside the active conversation. */
.chat-reference{display:block;max-width:100%;margin:5px 0;padding:7px 9px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:8px;background:rgba(var(--accent-rgb),.06);color:var(--text);font:inherit;font-size:12px;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.chat-reference>span{color:var(--pink)}
.chat-reference-drafts{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px;flex:none;max-height:100px;overflow:auto;border-top:1px solid var(--line)}
.chat-reference-drafts>span{display:flex;align-items:center;gap:6px;max-width:100%;font-size:11px;color:var(--text);background:#191319;border-radius:7px;padding:4px 7px;overflow-wrap:anywhere}
.chat-reference-drafts button{flex:none;border:0;background:none;color:var(--muted);font-size:17px;cursor:pointer}
.direct-chat-compose .chat-reference-add{justify-self:center;background:transparent;color:var(--muted)}
.chat-reference-add svg,.direct-chat-dock-reference svg{display:block;width:20px;height:20px}
.chat-reference-picker{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:12px;padding:16px;background:#0b0b0e;color:var(--text)}
.chat-reference-picker header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-reference-picker header strong{font-size:14px;font-weight:500}
.chat-reference-picker button{font:inherit;cursor:pointer;color:var(--text)}
.chat-reference-picker header button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:20px}
.chat-reference-picker nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.chat-reference-picker nav button{padding:8px 2px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:11px}
.chat-reference-picker nav button[aria-pressed=true]{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08);color:var(--pink)}
.chat-reference-picker input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#121215;color:var(--text);font:inherit;font-size:16px}
.chat-reference-results{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:7px}
.chat-reference-results>button{display:flex;align-items:center;gap:10px;padding:11px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#101013}
.chat-reference-results strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}
.chat-reference-results small,.chat-reference-results p{font-size:11px;color:var(--muted)}

.direct-chat-dock>.direct-chat-dock-reference{position:absolute;z-index:3;bottom:9px;left:8px;width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:23px;cursor:pointer}
.direct-chat-dock>.direct-chat-dock-button>svg{visibility:hidden}
.direct-chat-dock:is(.is-expanded,.is-collapsing)>.direct-chat-dock-reference{display:none}
@media(min-width:1024px){.direct-chat-dock>.direct-chat-dock-reference{bottom:13px}}

.chat-reference-copy{display:grid;gap:4px;min-width:0}
.chat-reference-media{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;overflow:hidden;border-radius:8px;background:rgba(var(--accent-rgb),.07);color:var(--pink);font-size:10px}
.chat-reference-media svg{display:block;width:20px;height:20px}
.chat-reference-media img{display:block;width:100%;height:100%;object-fit:cover}

/* Keep the message bar identical when its conversation is expanded. */
#app .direct-chat-compose button[type=submit]{width:22px;height:22px;background:var(--pink-soft);color:var(--pink);font-size:14px;font-weight:400;line-height:1}
#app .direct-chat-compose .chat-reference-add{width:26px;height:26px;background:transparent;color:var(--muted)}
.direct-chat-compose .chat-reference-add svg{stroke:currentColor;stroke-width:1.7}

/* Anchor both plus buttons to the same dock coordinates, including the panel border. */
.direct-chat-dock{--chat-plus-left:8px;--chat-plus-bottom:9px}
.direct-chat-dock>.direct-chat-dock-reference{left:var(--chat-plus-left);bottom:var(--chat-plus-bottom)}
#app .direct-chat-compose .chat-reference-add{position:absolute;left:calc(var(--chat-plus-left) - 1px);bottom:calc(var(--chat-plus-bottom) - 1px)}
.direct-chat-compose input{grid-column:2}
.direct-chat-compose button[type=submit]{grid-column:3}
@media(min-width:1024px){.direct-chat-dock{--chat-plus-bottom:13px}}

.daw-file-logo{display:block;width:100%;height:100%;max-width:30px;max-height:30px;object-fit:contain}
.daw-upload-hint{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.5}
.file-player[data-kind=archive] :is(.file-player-timeline,.file-player-controls,.file-player-feedback){display:none}
.file-player[data-kind=archive]{min-height:0}
.file-player[data-kind=archive]{height:90px}
.file-player[data-kind=archive] .file-player-close{grid-column:4}
.file-player[data-kind=archive] .uploaded-download{bottom:10px}
.daw-file-logo{border-radius:5px}

/* Quiet desktop navigation; all phone styles remain outside this breakpoint. */
@media(min-width:1024px){
 #app .desktop-sidebar{padding:24px 12px 18px;background:linear-gradient(150deg,#141416 0%,#09090b 45%,#070709 100%);border-right:1px solid rgba(255,255,255,.045);overflow-y:auto}
 .desktop-sidebar .ambient-particle{display:none}
 .desktop-brand{width:90px;height:50px;margin:0 0 12px 14px}
 .desktop-caption{margin:0 14px 26px;font-size:10px;letter-spacing:.05em;opacity:.7}
 #app .desktop-sidebar nav{gap:5px}
 #app .desktop-sidebar nav button,#app .desktop-sidebar .desktop-account{position:relative;min-height:34px;padding:8px 12px 8px 17px;gap:10px;border:0;border-radius:8px;background:transparent;color:#99999e;font-size:13px;font-weight:400;line-height:18px}
 #app .desktop-sidebar nav button:hover,#app .desktop-sidebar .desktop-account:hover{background:rgba(255,255,255,.045);color:#e6e4e8}
 #app .desktop-sidebar button[aria-current="page"]{background:linear-gradient(100deg,rgba(255,255,255,.16),rgba(255,255,255,.07));color:#f0eef1}
 .desktop-sidebar .desktop-nav-icon{display:block;flex:0 0 16px;width:16px;height:16px;color:currentColor}
 #app .desktop-sidebar .desktop-quick-upload{margin-top:auto;min-height:36px;padding:9px 12px 9px 17px;border-color:rgba(255,255,255,.09);border-radius:8px;background:transparent;color:#929298;font-size:11px}
 .desktop-sidebar .desktop-quick-upload svg{width:16px;height:16px;stroke:currentColor}
 #app .desktop-sidebar .desktop-quick-upload.is-dragover{border-color:var(--pink);background:rgba(var(--accent-rgb),.09)}
 #app .desktop-sidebar .desktop-account{margin-top:12px;flex-shrink:0}
 .desktop-sidebar nav{margin-bottom:24px}
}

/* Pointer-only feedback: no movement of controls or orbit/drag coordinates. */
@media (hover:hover) and (pointer:fine) {
 /* App-specific rules keep selected states and existing layout animations intact. */
 #app .desktop-sidebar nav button:not(:disabled):hover,
 #app .desktop-sidebar .desktop-account:not(:disabled):hover {
  background-color:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 12px #0002;
 }
 #app .hub-node:not(.is-spinning):hover {
  border-color:var(--line);
  box-shadow:0 12px 35px rgba(0,0,0,.16),0 0 28px 4px rgba(var(--accent-rgb),.02688);
 }
 #app .hub-node:not(.is-spinning):hover::after {
  animation:none;opacity:1;
  box-shadow:0 0 36px 8px rgba(var(--accent-rgb),.0336);
 }
 :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),textarea):not(:disabled):not([readonly]):hover {
  border-color:rgba(var(--accent-rgb),.32);
 }
}

@media(min-width:1024px){
 .hub-map .hub-node{width:84px;height:84px}
 .hub-map .hub-node .hub-icon-render{width:31px;height:31px}
 .hub-map .hub-node small{font-size:9px}
}
@media(hover:hover) and (pointer:fine){
 #app .desktop-sidebar .desktop-quick-upload:not(.is-dragover):hover{
  color:var(--text);background:transparent;border-color:rgba(255,255,255,.09);box-shadow:none;
 }
 #app .desktop-sidebar .desktop-quick-upload:not(.is-dragover):hover svg{stroke:currentColor}
}

@media(min-width:1024px){.desktop-sidebar .desktop-nav-render{width:16px;height:16px;flex:0 0 16px;object-fit:contain;margin:0}}

/* Account menu: quiet rows on desktop and touch screens. */
#app .studio-profile > :is(.account-legal,.account-tour-launch){
 border:0;background:transparent;box-shadow:none;border-radius:9px;margin-top:6px;
}
#app .studio-profile > .account-legal > summary,
#app .studio-profile > .account-tour-launch{
 min-height:48px;padding:12px 15px;border:0;border-radius:9px;box-shadow:none;
 color:var(--muted);font-size:14px;font-weight:400;
 transition:background-color .18s ease,color .18s ease;
}
#app .studio-profile > .account-legal[open] > summary{
 background:rgba(255,255,255,.065);color:var(--text);
}
#app .studio-profile > .account-legal > summary:focus-visible,
#app .studio-profile > .account-tour-launch:focus-visible{
 outline:2px solid var(--focus-line);outline-offset:-2px;color:var(--text);
}
#app .studio-profile > .account-legal > summary:active,
#app .studio-profile > .account-tour-launch:active{
 background:rgba(255,255,255,.085);color:var(--text);
}
#app .studio-profile > .account-legal > .account-settings-body,
#app .studio-profile > .account-legal > .account-legal-links{padding-top:12px}
@media(hover:hover) and (pointer:fine){
 #app .studio-profile > .account-legal > summary:hover,
 #app .studio-profile > .account-tour-launch:hover{
  background:rgba(255,255,255,.075);color:var(--text);box-shadow:none;
 }
}
@media(prefers-reduced-motion:reduce){
 #app .studio-profile > .account-legal > summary,
 #app .studio-profile > .account-tour-launch{transition:none}
}

/* Unread activity belongs to the connection picker, independently of the chat dock. */
.connection-unread-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:10px;background:#d73558;color:#fff;font-size:10px;font-weight:600;line-height:1;margin-left:7px}
.hub-connection{overflow:visible}
.artist-directory-card .connection-unread-badge{margin-left:auto}

/* Account labels align with the heading without outlined badges. */
#app .profile-identity > .role-badge { border:0;padding-inline:0;border-radius:0;background:transparent;box-shadow:none; }
#app .account-plan-actions button { border:0;box-shadow:none; }
#app .account-plan-actions button:focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }

/* Legal text expands in the account's own scrollable content. */
#app .account-legal-section { border:0;background:transparent;margin:0; }
#app .account-legal-section > summary { min-height:44px;padding:10px 0;font-size:14px;font-weight:400;color:var(--muted); }
#app .account-legal-section[open] > summary { color:var(--text); }
#app .account-legal-text { padding:0 0 14px;color:var(--muted);font-size:13px;line-height:1.7;overflow-wrap:anywhere; }
#app .account-legal-text p { margin:0 0 12px; }
#app .account-legal-text a { display:inline-flex;border:0;padding:5px 0;min-height:36px;color:var(--pink);font-size:13px; }
#app .account-legal-date,#app .account-legal-footer { color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0 14px; }

/* Quieter cancellation controls: half-strength fill and borders, full-strength text. */
#app .studio-profile .cancellation-settings :is(input,select) {
 background:color-mix(in srgb,#111015 50%,var(--bg));
 border-color:rgba(52,48,56,.5);
}
#app .studio-profile .cancellation-settings button[type="submit"] {
 background:rgba(var(--accent-rgb),.035);border-color:rgba(var(--accent-rgb),.15);box-shadow:none;
}
#app .studio-profile .cancellation-settings button[type="submit"]:hover { background:rgba(var(--accent-rgb),.06); }

/* App-owned selectors retain each form field's layout and styling. */
.app-select-control{display:inline-grid;position:relative;min-width:0;width:100%;vertical-align:middle;border-radius:9px}
.app-select-control>select{grid-area:1/1;pointer-events:none;max-width:100%;width:100%;min-height:36px;appearance:none;-webkit-appearance:none;background-image:none;padding:8px 36px 8px 11px;padding-inline-end:36px!important;border:1px solid rgba(255,255,255,.085);border-radius:9px;background-color:rgba(255,255,255,.025);color:var(--text);font:inherit;line-height:1.4;text-overflow:ellipsis}
.app-select-control::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);pointer-events:none}
.app-select-control:has(>select:disabled)::after{opacity:.4}
body .app-select-control > .app-select-trigger{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;box-shadow:none;cursor:pointer;outline:none}
body .app-select-control > .app-select-trigger:focus-visible{outline:2px solid var(--focus-line);outline-offset:-2px;border-radius:9px}
body .app-select-control > .app-select-trigger:disabled{cursor:default}
.app-select-menu{position:fixed;margin:0;padding:6px;max-width:none;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0c0c10;color:var(--text,#eee);box-shadow:0 14px 40px rgba(0,0,0,.45);overflow:auto;overscroll-behavior:contain;font-family:inherit;box-sizing:border-box}
.app-select-menu::backdrop{background:rgba(0,0,0,.15)}
.app-select-heading,.app-select-group{padding:8px 10px;color:var(--muted,#aaa);font-size:11px;line-height:1.4}
.app-select-heading{border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}
.app-select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;width:100%;border:0;border-radius:7px;padding:10px;background:transparent;color:inherit;font:inherit;font-size:14px;text-align:left;cursor:pointer;box-shadow:none!important;overflow-wrap:anywhere}
.app-select-option[aria-selected="true"]{background:var(--ui-selected);color:var(--text,#eee)}
.app-select-check{flex:none;opacity:0}.app-select-option[aria-selected="true"] .app-select-check{opacity:1}
.app-select-option:focus-visible{outline:none;background:linear-gradient(100deg,rgba(255,255,255,.20),rgba(255,255,255,.10));color:var(--text,#eee)}
.app-select-option:disabled{opacity:.4;cursor:default}
.app-select-done{display:block;width:100%;border:0;border-top:1px solid rgba(255,255,255,.08);padding:10px;background:transparent;color:var(--pink,#ef668d);font:inherit;font-size:14px}
@media(hover:hover) and (pointer:fine){.app-select-option:not(:disabled):hover{background:rgba(255,255,255,.06)}}

/* Both libraries use compact, side-by-side filter groups at every viewport size. */
#app :is(.files-section,.documents-section) .file-filter-panel {
 display:grid;grid-template-columns:minmax(0,190px) minmax(0,320px);gap:10px 16px;
}
#app :is(.files-section,.documents-section) .file-filter-row {
 display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:start;align-content:start;
}
#app :is(.files-section,.documents-section) .file-filter-label { padding-top:0;font-size:11px; }
#app :is(.files-section,.documents-section) .file-filter-panel .app-select-control {
 width:190px;max-width:100%;justify-self:start;flex:0 0 auto;
}
#app :is(.files-section,.documents-section) .file-filter-panel .app-select-control>select { min-height:36px;font-size:13px; }
#app .files-section .file-sort-controls { overflow:visible;flex-wrap:wrap; }
#app .files-section .daw-upload-hint { grid-column:1/-1; }
@media(max-width:1023px) {
 #app :is(.files-section,.documents-section) .file-filter-panel { grid-template-columns:repeat(2,minmax(0,190px));column-gap:10px; }
 #app :is(.files-section,.documents-section) .file-filter-row { gap:6px; }
 #app :is(.files-section,.documents-section) .file-filter-label { font-size:9px; }
 #app :is(.files-section,.documents-section) .file-filter-panel .app-select-control { width:100%; }
 #app :is(.files-section,.documents-section) .file-filter-panel .app-select-control>select { font-size:12px; }
 #app .files-section .file-sort-controls { display:grid;grid-template-columns:minmax(0,1fr);gap:8px; }
 #app .files-section .file-layout-switch { justify-self:start; }
}
.analytics-list-head .app-select-control{max-width:150px}
.session-artist-filter .app-select-control{max-width:min(100%,230px)}

/* Keep a separate exit from skipping just the current tour step. */
.app-tour-meta{padding-right:26px;min-height:24px}
.app-tour-panel.is-centered>.app-tour-eyebrow{padding-right:26px;min-height:24px;display:flex;align-items:center}
.app-tour-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;padding:6px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}
.app-tour-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.app-tour-close:is(:hover,:focus-visible){background:rgba(255,255,255,.06);color:var(--text)}
.app-tour-close:focus-visible{outline:1px solid var(--focus-line);outline-offset:-1px}

/* Desktop orbit preview: animate only the artwork while the pointer rests on a node. */
@keyframes orbitIconHover {
  0%,100%{transform:scale(1) rotate(0deg)}
  25%{transform:scale(1.07) rotate(-2deg)}
  50%{transform:scale(1.1) rotate(0deg)}
  75%{transform:scale(1.07) rotate(2deg)}
}
@media(min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #app .hub-node:not(.is-spinning):not(:active):hover .hub-icon-render{
  transform-origin:50% 50%;animation:orbitIconHover 1.7s ease-in-out infinite;
 }
}

/* Place the role label closer to the account name without moving the name row. */
#app .studio-profile > .profile-identity{row-gap:0;padding-top:15px}

.account-trash-button{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-left:8px;padding:7px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.account-trash-button svg,.account-trash-list svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.account-trash-button:is(:hover,:focus-visible){color:var(--pink)}
.account-trash-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;background:#09090c}
.account-trash-filters{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.account-trash-filters button{border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.account-trash-filters button[aria-pressed=true]{color:var(--pink);background:rgba(var(--accent-rgb),.06)}
.account-trash-list{list-style:none;padding:0;margin:0}
.account-trash-list li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.account-trash-list svg{flex:none;color:var(--pink)}
.account-trash-list span{min-width:0}.account-trash-list strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.account-trash-list small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.account-trash-empty,.account-trash-note{color:var(--muted);font-size:12px;line-height:1.6}.account-trash-note{margin-top:20px;font-size:11px}

/* Trash uses a plain heading without the brighter sticky-header surface. */
.account-trash-dialog > .session-dialog-heading{position:static;background:transparent;box-shadow:none}

/* Center the connection status alongside the studio name. */
.connection-card .connection-choice{align-items:center}
.connection-card .connection-choice > :is(span,small){margin-block:0;line-height:1.25}

/* My Studios refresh stays a bare icon in every pointer state. */
#app .artist-studios-card .connection-heading [data-cloud-refresh]{background:transparent;border:0;box-shadow:none;outline:none;-webkit-tap-highlight-color:transparent}
#app .artist-studios-card .connection-heading [data-cloud-refresh]::before{content:none}
#app .artist-studios-card .connection-heading [data-cloud-refresh]:is(:hover,:focus-visible,:active){background:transparent;border:0;box-shadow:none;outline:none;color:var(--pink)}

/* One canvas for every page, its scroll layers and the installed-app shell. */
html,body { background:var(--bg)!important; }
#app,#app>.hub-shell,#app .desktop-sidebar,.intro,.offer-setup,.onboarding-welcome {
 background:var(--bg);
}
#app .desktop-sidebar { background-image:none; }
#app .files-section :is(.files-scroll-content,.files-fixed-header,.files-list-scroll) {
 background:var(--bg);box-shadow:none;
}
/* Scroll layers paint the same opaque canvas, including the gaps between cards. */
#app .files-section :is(.file-results,.file-list) { background:var(--bg);border:0; }
#app .files-section .file-results { will-change:auto; }
/* Animate page contents only; the full-page canvas is visible on its first frame. */
#app>.hub-shell.hub-section { background:var(--bg);animation:none;opacity:1; }
#app .documents-section .document-grid { background:var(--bg); }
.inline-chat.with-history::before { background:linear-gradient(to bottom,var(--bg),transparent); }

@media (hover:hover) and (pointer:fine) {
 .startup-connection-notice small,.startup-connection-notice button { transition:color .18s ease; }
 .startup-connection-notice:hover small,.startup-connection-notice button:hover { color:var(--text); }
}

/* Documents design trial: quiet surfaces and selected states matching the sidebar. */
#app .documents-section .file-search-box {
 border-color:transparent;background:rgba(255,255,255,.035);border-radius:10px;
 transition:background .18s ease,box-shadow .18s ease;
}
#app .documents-section .file-search-box:focus-within { background:rgba(255,255,255,.05);box-shadow:0 0 0 1px var(--focus-line); }
#app .documents-section .file-search-box>svg { color:var(--muted); }
#app .documents-section .file-filter-panel { border:0;background:transparent;padding:8px 0 14px; }
#app .documents-section .file-filter-chip {
 border-color:transparent;border-radius:8px;background:transparent;color:var(--muted);box-shadow:none;
 transition:background .18s ease,color .18s ease;
}
#app .documents-section .file-filter-chip.active {
 background:linear-gradient(100deg,rgba(255,255,255,.16),rgba(255,255,255,.07));color:#f0eef1;
}
#app .documents-section .hub-round { border-color:transparent;background:rgba(255,255,255,.025);box-shadow:none;border-radius:9px; }
#app .documents-section .document-card {
 border-color:transparent;border-radius:12px;background:rgba(255,255,255,.025);box-shadow:none;
 transition:background .18s ease,color .18s ease;
}
#app .documents-section .document-add-card { background:rgba(255,255,255,.015);color:var(--muted); }
#app .projects-section .document-add-card { border-color:transparent;border-radius:12px;background:rgba(255,255,255,.015);box-shadow:none; }
#app .projects-section .document-add-card:focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
#app .documents-section .document-card-bottom { border-top:0;color:var(--text); }
#app .documents-section :is(.file-filter-chip,.hub-round,.document-card):focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }
@media(hover:hover) and (pointer:fine) {
 #app .documents-section :is(.file-filter-chip,.hub-round,.document-card):not(:disabled):hover {
  background:rgba(255,255,255,.06);border-color:transparent;box-shadow:none;color:var(--text);
 }
 #app .projects-section .document-add-card:hover { background:rgba(255,255,255,.06);border-color:transparent;color:var(--text); }
 #app .documents-section .file-filter-chip.active:hover { background:linear-gradient(100deg,rgba(255,255,255,.19),rgba(255,255,255,.09)); }
 #app .documents-section .file-search-box:hover { background:rgba(255,255,255,.045); }
}

/* Shared quiet surfaces: one visual language for phone and desktop. */
:root {
 --focus-line:rgba(255,255,255,.20);
 --ui-panel:color-mix(in srgb,#fff 2.5%,var(--bg));
 --ui-field:color-mix(in srgb,#fff 3.5%,var(--bg));
 --ui-hover:color-mix(in srgb,#fff 6%,var(--bg));
 --ui-selected:linear-gradient(100deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
}
:is(#app,body) :is(.project-card,.artist-directory-card,.file-card,.offer-card,.offer-request,.offer-empty,.session-card,.studio-client-card,.beat-idea-card,.payment-setup-card,.simple-card,.connection-card,.notification-time-card,.project-master,.project-document-row,.analytics-chart,.studio-plan-option,.offer-picker-item,.offer-setup-choice,.offer-setup fieldset,.connection-choice,.chat-reference-results>button) {
 background:var(--ui-panel);border-color:transparent;border-radius:12px;box-shadow:none;
 transition:background-color .18s ease,color .18s ease;
}
:is(#app,body) :is(.project-detail,.file-player,.direct-chat-dock,.notification-center,.project-picker,.song-feedback-dialog,.chat-reference-picker,dialog) {
 background-color:var(--bg);border-color:rgba(255,255,255,.065);
}
:is(#app,body) :is(.project-group-heading>button,.release-project-group .release-shelf-toggle,.file-version-stack>summary) {
 background:var(--ui-panel);border-color:transparent;box-shadow:none;border-radius:10px;
}
:is(#app,body) :is(.file-search-box,.lyrics-library-search,.app-select-control>select,
 input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=url],input[type=tel],input[type=date],input[type=time],input[type=datetime-local],textarea) {
 background:var(--ui-field);border-color:transparent;border-radius:9px;box-shadow:none;
 transition:background-color .18s ease,box-shadow .18s ease;
}
/* Nested text fields inherit their containing search/composer surface. */
:is(#app,body) :is(.file-search-box,.direct-chat-compose,.inline-compose,.assistant-input) input {
 background:transparent;border-color:transparent;box-shadow:none;
}
:is(#app,body) :is(.file-filter-panel,.calendar-view-switch,.file-layout-switch,.artists-view-tabs,.chat-reference-picker nav) {
 background:transparent;border-color:transparent;box-shadow:none;
}
:is(#app,body) :is(.hub-round,.file-filter-chip,.calendar-view-switch button,.file-layout-switch button,.artists-view-tabs button,
 .session-month button,.release-range button,.session-card-actions button,.project-master-actions button,.file-card-side>button,
 .account-trash-button,.account-logout,.account-plan-actions button,.chat-reference-picker nav button,.account-trash-filters button,
 .session-submit,.offer-primary,.offer-request-actions button,.studio-plan-next,.studio-plan-checkout button,
 .cancellation-settings button[type=submit],.document-project-editor button,.document-allowance-editor button,
 .auth-submit,.offer-setup button,.project-cover-crop-actions button,.song-feedback-form button,
 .session-dialog button:not(.app-select-option):not(.app-select-trigger):not([data-availability-delete]):not(.connection-text),.offer-dialog button:not(.app-select-option):not(.app-select-trigger),.create-project-dialog button:not(.app-select-option):not(.app-select-trigger),.document-create-dialog button:not(.app-select-option):not(.app-select-trigger):not(.connection-text),.invoice-dialog button:not(.app-select-option):not(.app-select-trigger):not(.connection-text)) {
 border-color:transparent;background:var(--ui-panel);box-shadow:none;
 transition:background-color .18s ease,color .18s ease;
}
:is(#app,body) :is(.file-filter-chip,.calendar-view-switch button,.file-layout-switch button,.artists-view-tabs button,.chat-reference-picker nav button,.account-trash-filters button) { border-radius:8px;background:transparent; }
:is(#app,body) :is(.file-filter-chip.active,.calendar-view-switch button.active,
 .calendar-view-switch button[aria-pressed=true],.file-layout-switch button[aria-pressed=true],
 .artists-view-tabs button[aria-pressed=true],.chat-reference-picker nav button[aria-pressed=true],
 .account-trash-filters button[aria-pressed=true],.artist-directory-card[aria-pressed=true],
 .connection-choice[aria-pressed=true],.studio-plan-option.is-current) {
 background:var(--ui-selected);border-color:transparent;color:var(--text);box-shadow:none;
}
:is(#app,body) :is(.session-submit,.offer-primary,.auth-submit,.studio-plan-next,.cancellation-settings button[type=submit]) { background:var(--ui-selected);color:var(--text); }
:is(#app,body) :is(.offer-setup-currencies label,.onboarding-language-options label) { background:var(--ui-panel);border-color:transparent; }
:is(#app,body) :is(.offer-setup-currencies label,.onboarding-language-options label):has(input:checked) { background:var(--ui-selected); }
:is(#app,body) :is(.session-dialog-heading,.create-project-heading,.file-backup-heading) { background-color:var(--bg); }
:is(#app,body) .account-trash-dialog>.session-dialog-heading { background:transparent; }
/* Fields use an inset neutral focus treatment; chat stays visually unchanged. */
:is(#app,body) :is(input,textarea,select):is(:focus,:focus-visible) { outline:none;border-color:transparent;box-shadow:inset 0 0 0 1px var(--focus-line); }
:is(#app,body) .file-search-box:focus-within { box-shadow:0 0 0 1px var(--focus-line); }
:is(#app,body) :is(.file-search-box,.lyrics-youtube-form,.project-deadline,.account-name-row,.project-name-row,.promo-entry-heading) input:is(:focus,:focus-visible) { outline:none;border-color:transparent;box-shadow:none; }
/* The chat caret indicates input focus without changing the composer surface. */
:is(#app,body) .inline-compose input:is(:focus,:focus-visible) { outline:none;box-shadow:none; }
@media(hover:hover) and (pointer:fine) {
 :is(#app,body) :is(.project-card,.artist-directory-card,.file-card,.offer-picker-item,.connection-choice,
 .project-group-heading>button,.release-project-group .release-shelf-toggle,.file-version-stack>summary,.chat-reference-results>button,
 .hub-round,.file-filter-chip,.calendar-view-switch button,.file-layout-switch button,.artists-view-tabs button,
 .session-month button,.release-range button,.session-card-actions button,.project-master-actions button,.file-card-side>button,
 .account-trash-button,.account-logout,.account-plan-actions button,.chat-reference-picker nav button,.account-trash-filters button,
 .session-submit,.offer-primary,.offer-request-actions button,.studio-plan-next,.studio-plan-checkout button,
 .cancellation-settings button[type=submit],.auth-submit,.offer-setup button,
 .session-dialog button:not(.app-select-option):not(.app-select-trigger):not([data-availability-delete]):not(.connection-text),.offer-dialog button:not(.app-select-option):not(.app-select-trigger),.create-project-dialog button:not(.app-select-option):not(.app-select-trigger),.document-create-dialog button:not(.app-select-option):not(.app-select-trigger):not(.connection-text),.invoice-dialog button:not(.app-select-option):not(.app-select-trigger):not(.connection-text)):not(:disabled):hover {
  background:var(--ui-hover);border-color:transparent;box-shadow:none;
 }
}
/* Preserve the stable, unframed composer controls and image-only brand buttons. */
:is(#app,body) .app-select-control>.app-select-trigger,
:is(#app,body) :is(.intro-logo,.desktop-brand,.offer-setup-header-logo),
:is(#app,body) .offer-setup .offer-setup-skip { background:transparent;border-color:transparent;box-shadow:none; }

:is(#app,body) :is(.file-card.is-active,.connection-choice[aria-pressed=true]) { background:var(--ui-selected); }
:is(#app,body) :is(.session-calendar-card,.release-card) { border-color:transparent; }
:is(#app,body) :is(.song-feedback-form,.song-feedback-wave,.project-deadline) { border-color:rgba(255,255,255,.055); }

:is(#app,body) :is(.project-card,.file-card,.artist-directory-card,.offer-picker-item,.session-submit,.offer-primary,.connection-choice):focus-visible { outline:1px solid var(--focus-line);outline-offset:-2px; }

/* Linked project items use spacing, not stacked rules, to separate their groups. */
#app .project-detail .project-files-head {
 height:auto;min-height:20px;margin:24px 0 10px;padding:0;
 border:0;letter-spacing:.07em;font-size:10px;
}
#app .project-detail .project-files-head b { color:var(--muted);font-size:10px; }
#app .project-detail :is(.project-file-list,.project-document-list) {
 display:grid;gap:8px;margin:0;padding:0;border:0;
}
#app .project-detail :is(.project-file-list>.file-card,.project-document-row) {
 min-height:66px;padding:11px 12px;border:0;border-radius:11px;background:var(--ui-panel);box-shadow:none;
}
#app .project-detail .project-document-row { display:flex;margin:0;gap:11px; }
#app .project-detail :is(.project-document-icon,.project-file-list .file-format-mark) {
 width:36px;height:36px;border:0;border-radius:9px;background:rgba(255,255,255,.025);
}
#app .project-detail .project-document-copy strong { font-weight:500;font-size:14px; }
#app .project-detail .project-document-copy small { font-size:10px;line-height:1.4; }
#app .project-detail .project-document-arrow { font-size:15px; }
#app .project-detail :is(.project-file-list,.project-document-list) .file-empty { margin:0;padding:14px 0; }
@media(hover:hover) and (pointer:fine) {
 #app .project-detail :is(.project-file-list>.file-card,.project-document-row):hover { background:var(--ui-hover);box-shadow:none; }
}

/* Match linked file typography to the adjacent document rows at every breakpoint. */
#app .project-detail :is(.project-file-list .file-card-copy,.project-document-copy) strong {
 font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:normal;
}
#app .project-detail :is(.project-file-list .file-card-copy,.project-document-copy) small {
 font-family:inherit;font-size:10px;font-weight:400;line-height:1.4;letter-spacing:normal;
}
#app .project-detail .project-file-list .file-card-copy .file-added-date { font-size:10px;line-height:1.4; }
/* Dates sit directly on their deadline cards, including read-only studio dates. */
#app .project-detail .project-deadline input[type=date] {
 background:transparent;border:0;box-shadow:none;color:#fff;opacity:1;
}
#app .project-detail .project-deadline input[type=date]:not([data-date-empty="true"]) {
 -webkit-text-fill-color:#fff;
}
#app .project-detail .project-deadline input[data-date-empty="true"] { color:transparent; }

.studio-plan-dialog .studio-plan-storage, .studio-plan-dialog .studio-plan-storage::marker { color:#8bd7b0; }

/* Account names remain inline text, including while editing. */
#app .account-name-row input { background:transparent;box-shadow:none; }

/* Keep the Account canvas calm on phone and desktop. */
#app[data-view="account"] .ambient-particles { display:none; }

/* Use the same darker neutral surface for the artist's studio and credit panels. */
#app[data-view="account"] :is(.artist-studios-card,.account-package-credits) {
 background:color-mix(in srgb,#fff 1%,var(--bg));
}

/* Keep the connect-code field contained, with a quiet inset focus treatment. */
#app .connect-studio-dialog>form { padding:2px; }
#app .connect-studio-dialog input {
 display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
#app .connect-studio-dialog input:is(:focus,:focus-visible) {
 outline:none;border-color:transparent;background:var(--ui-hover);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}

/* Match the chat outline to the orbit's 10% white line on the app canvas. */
#app .direct-chat-dock :is(.direct-chat-dock-button,.direct-chat-panel) {
 border-color:color-mix(in srgb,#fff 10%,var(--bg));
}

/* Compact message bar; the transparent dock lets its surface blend into Home. */
#app .direct-chat-dock {
 --message-bar-height:40px;
 --chat-plus-bottom:calc((var(--message-bar-height) - 26px)/2);
 background-color:transparent;
}
#app>.hub-shell>.direct-chat-dock:not(.is-expanded) { height:var(--message-bar-height); }
#app .direct-chat-dock .inline-compose {
 height:var(--message-bar-height);min-height:var(--message-bar-height);
 background-color:color-mix(in srgb,var(--surface) 32%,transparent);
}
#app .direct-chat-dock .direct-chat-dock-button:hover {
 background-color:color-mix(in srgb,var(--surface) 42%,transparent);
}
@media(min-width:1024px) { #app .direct-chat-dock { --message-bar-height:44px; } }

/* Session and offer titles sit directly on the dialog surface. */
:is(#app,body) :is(.sessions-section .session-dialog,.offer-dialog) .session-dialog-heading {
 position:static;background:transparent;box-shadow:none;
}

#app .offer-picker > .offer-picker-heading { position:static;background:transparent;box-shadow:none; }

/* Give project status its own place below the calendar, clear of the artwork. */
#app .project-detail-navigation {
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;
}
#app .project-detail-navigation .project-detail-back { grid-column:1;grid-row:1;justify-self:start; }
#app .project-detail-navigation .release-open { grid-column:2;grid-row:1;justify-self:end;margin-right:0; }
#app .project-detail-status {
 grid-column:2;grid-row:2;justify-self:end;max-width:100%;padding:4px 7px;
 border:0;border-radius:8px;background:rgba(153,168,189,.04);color:var(--project-blue);
 font-size:8px;font-weight:600;line-height:1.3;letter-spacing:.05em;text-transform:uppercase;
 overflow-wrap:anywhere;text-align:right;
}
#app .project-detail.is-complete .project-detail-status { color:var(--project-accent);background:rgba(138,200,163,.06); }
#app .projects-section .project-detail-head { grid-template-rows:auto; }
#app .projects-section .project-detail-head>.project-cover-picker { grid-column:2;grid-row:1; }

/* Bring the Lyrics Room into the shared quiet surface design. */
#app .lyrics-section :is(.lyrics-file-select,.lyrics-youtube-form,.lyrics-paper) {
 border-color:transparent;background:var(--ui-panel);border-radius:12px;box-shadow:none;
}
#app .lyrics-section .lyrics-file-select { transition:background .18s ease; }
#app .lyrics-section .lyrics-youtube-form { background:var(--ui-field); }
#app .lyrics-section .lyrics-youtube-form input {
 background:transparent;border:0;box-shadow:none;border-radius:0;
}
#app .lyrics-section .lyrics-youtube-form:focus-within { border-color:transparent; }
#app .lyrics-section .lyrics-youtube-form input:focus-visible { outline:none; }
#app .lyrics-section .lyrics-section-builder { border:0;padding:10px 0; }
#app .lyrics-section .lyrics-section-builder button {
 border-color:transparent;background:var(--ui-panel);border-radius:9px;color:var(--muted);
 transition:background .18s ease,color .18s ease;box-shadow:none;
}
#app .lyrics-section .lyrics-song-actions button[data-finish-lyric-song] {
 background:var(--ui-selected);border-color:transparent;color:var(--text);
}
#app .lyrics-section .lyrics-paper-head { border:0;padding-bottom:8px; }
#app .lyrics-section .lyrics-paper textarea {
 background:transparent;border:0;border-radius:0;box-shadow:none;padding:8px 0 4px;
}
#app .lyrics-section .lyrics-upload-player { border-color:transparent;box-shadow:none; }
#app .lyrics-section .lyrics-section-builder button:not(:disabled):active {
 background:var(--ui-hover);border-color:transparent;color:var(--text);
}
:is(#app,body) :is(.lyrics-library-dialog,.lyrics-songs-dialog) {
 background:var(--bg);border-color:rgba(255,255,255,.065);
}
:is(#app,body) :is(.lyrics-library-dialog,.lyrics-songs-dialog) .lyrics-library-items button {
 background:var(--ui-panel);border-color:transparent;border-radius:10px;box-shadow:none;
}
@media(hover:hover) and (pointer:fine) {
 #app .lyrics-section :is(.lyrics-file-select,.lyrics-section-builder button,.lyrics-paper-head button):not(:disabled):hover,
 :is(#app,body) :is(.lyrics-library-dialog,.lyrics-songs-dialog) .lyrics-library-items button:not(:disabled):hover {
  background:var(--ui-hover);border-color:transparent;box-shadow:none;color:var(--text);
 }
}

/* Tiny outward sparks after a successful manual payment confirmation. */
.invoice-paid-burst { position:fixed;z-index:80;pointer-events:none;overflow:visible; }
.invoice-paid-spark { position:absolute;display:block;opacity:0;pointer-events:none; }
@media (prefers-reduced-motion:reduce) { .invoice-paid-burst { display:none; } }

@media(min-width:1024px) {
 #app .desktop-sidebar nav button[data-section]:not([data-section=""]) { padding-right:34px; }
 .desktop-activity-badge { position:absolute;top:4px;right:6px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#bd3e50;color:#fff;font:600 10px/1 "General Sans",sans-serif;pointer-events:none; }
}

/* Explicit ZIP export: same neutral surfaces as the rest of Files. */
dialog.file-backup-panel{width:min(480px,calc(100vw - 32px));background:var(--bg);padding:22px}
dialog.file-backup-panel .file-backup-content{font-size:14px}
.file-backup-documents{display:flex;align-items:center;gap:10px;margin:20px 0;color:var(--text)}
.file-backup-documents input{width:16px;height:16px;accent-color:#92929c;flex-shrink:0}
.file-backup-structure{display:grid;gap:7px;padding:14px 16px;margin:16px 0;border:1px solid var(--line);border-radius:12px;background:var(--card,#111113);color:var(--muted);font-size:12px}
.file-backup-progress{display:grid;gap:8px;margin:18px 0;color:var(--muted)}
.file-backup-progress progress{width:100%;height:6px;border:0;border-radius:4px;background:#27272c;accent-color:#94b6a5;overflow:hidden}
.file-backup-progress progress::-webkit-progress-bar{background:#27272c}
.file-backup-progress progress::-webkit-progress-value{background:#94b6a5;border-radius:4px}
.file-backup-progress progress::-moz-progress-bar{background:#94b6a5}
.file-backup-panel [data-backup-status]{color:var(--text);margin:16px 0}
.file-backup-actions .file-backup-download{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #52685c;border-radius:10px;background:#17211c;color:#c7dfd1;text-decoration:none;line-height:1.5}
.file-backup-filename{display:block;color:var(--muted);overflow-wrap:anywhere}
.file-backup-panel .file-backup-note{font-size:12px;margin-top:18px}

/* Notifications: a single compact inbox, with the header and settings kept in view. */
:is(#app,body) .notification-center:not(.is-detail) { display:flex;flex-direction:column;overflow:hidden;padding:0;background:#161618;border:1px solid rgba(255,255,255,.09);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.38);max-height:min(440px,calc(100% - 76px - env(safe-area-inset-top))); }
.notification-center:not(.is-detail) .notification-head { display:flex;flex:none;align-items:center;gap:12px;min-height:65px;margin:0;padding:14px 16px 10px; }
.notification-center:not(.is-detail) .notification-head h2 { margin:0;flex:1;min-width:0;font-size:19px;font-weight:500;line-height:1.25;letter-spacing:-.3px; }
.notification-center:not(.is-detail) .notification-head .notification-read-all { width:auto;height:auto;min-height:30px;padding:3px 0;font-family:inherit;font-weight:500;font-size:11px;line-height:1.3;color:var(--muted);background:transparent;border:0;border-radius:4px;white-space:nowrap; }
.notification-center:not(.is-detail) .notification-read-all:hover:not(:disabled) { color:var(--text); }
.notification-center:not(.is-detail) .notification-read-all:disabled { opacity:.45;cursor:default; }
.notification-center:not(.is-detail) .notification-head .notification-close { flex:none;width:25px;height:25px;border:0;background:transparent;color:var(--muted);font-size:23px; }
.notification-center:not(.is-detail) .notification-list { display:block;overflow-y:auto;min-height:0;padding:0 8px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;overscroll-behavior:contain; }
.notification-group h3 { margin:16px 10px 6px;font-size:10px;font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:.7px;color:var(--muted); }
.notification-center:not(.is-detail) .notification-item { display:grid;grid-template-columns:34px minmax(0,1fr) 5px;gap:12px;align-items:start;min-height:72px;width:100%;padding:12px 10px;border:0;border-radius:8px;background:transparent;text-align:left; }
.notification-center:not(.is-detail) .notification-item:hover { background:rgba(255,255,255,.035); }
.notification-center:not(.is-detail) .notification-item.is-read { min-height:60px;padding-top:9px;padding-bottom:9px;opacity:.62;transition:opacity .16s ease; }
.notification-center:not(.is-detail) .is-history .notification-item:nth-of-type(2) { opacity:.54; }
.notification-center:not(.is-detail) .is-history .notification-item:nth-of-type(3) { opacity:.46; }
.notification-center:not(.is-detail) .notification-item.is-read:is(:hover,:focus-visible) { opacity:1; }
@media(prefers-reduced-motion:reduce) { .notification-center:not(.is-detail) .notification-item.is-read { transition:none; } }
.notification-center:not(.is-detail) .notification-item-icon { display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.065);color:#bab9c0; }
.notification-center:not(.is-detail) .notification-item:not(.is-read) .notification-item-icon[data-kind=music] { background:color-mix(in srgb,var(--pink) 16%,transparent);color:color-mix(in srgb,var(--pink) 65%,#eee); }
.notification-item-icon svg { width:19px;height:19px; }
.notification-center:not(.is-detail) .notification-item strong { display:block;font-size:13px;font-weight:500;line-height:1.35;color:var(--text);overflow-wrap:anywhere; }
.notification-center:not(.is-detail) .notification-item small { display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4;white-space:normal;overflow-wrap:anywhere; }
.notification-item time { display:block;margin-top:4px;font-size:10px;line-height:1.3;color:#85858c; }
.notification-center:not(.is-detail) .notification-item i { width:5px;height:5px;margin-top:5px;background:#c94c68;border-radius:50%;box-shadow:none; }
.notification-center:not(.is-detail) .notification-empty { padding:25px 16px 30px;margin:0;font-size:13px;color:var(--muted);text-align:center; }
.notification-push-settings { flex:none;margin:0;border-top:1px solid rgba(255,255,255,.065); }
.notification-push-settings summary { display:flex;align-items:center;justify-content:space-between;list-style:none;padding:13px 18px;cursor:pointer;font-size:11px;color:var(--muted); }
.notification-push-settings summary::-webkit-details-marker { display:none; }
.notification-push-settings[open] summary>span { transform:rotate(180deg); }
.notification-push-settings>div { padding:0 18px 12px;max-height:150px;overflow:auto; }
.notification-push-settings .notification-push { margin:0;width:100%;border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.025); }
.notification-push-settings .notification-push-hint { margin-bottom:0; }
@media(min-width:1024px) { .notification-center:not(.is-detail) { width:390px; } }
@media(max-width:390px) { .notification-center:not(.is-detail) .notification-head { gap:8px;padding-left:14px;padding-right:12px; }.notification-center:not(.is-detail) .notification-head h2 { font-size:16px; }.notification-center:not(.is-detail) .notification-head .notification-read-all { font-size:10px; } }
@media(max-width:360px) {
 .notification-center:not(.is-detail) .notification-head { display:grid;grid-template-columns:minmax(0,1fr) 25px;column-gap:12px;row-gap:2px;padding:13px 14px 7px; }
 .notification-center:not(.is-detail) .notification-head h2 { grid-column:1;grid-row:1;font-size:18px; }
 .notification-center:not(.is-detail) .notification-head .notification-read-all { grid-column:1;grid-row:2;justify-self:start;font-size:11px; }
 .notification-center:not(.is-detail) .notification-head .notification-close { grid-column:2;grid-row:1; }
}

/* Presence uses a semantic green, independent of the decorative accent theme. */
.artist-directory-meta { display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px; }
.connection-online { display:inline-flex;align-items:center;gap:5px;color:#80c99c;font-size:11px;line-height:1.4;font-weight:500;white-space:nowrap; }
.connection-online[hidden] { display:none!important; }
.connection-online i { width:6px;height:6px;flex:none;border-radius:50%;background:#80c99c; }
.connection-choice-info { display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0; }

/* Quiet interaction polish: one motion language across disclosures, charts and uploads. */
.analytics-chart-heading { display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap; }
.analytics-chart-readout { min-height:18px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums; }
.analytics-chart-layout { display:flex;gap:10px;margin-top:25px; }
.analytics-chart-scale { position:relative;flex:0 0 36px;height:124px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums; }
.analytics-chart-scale span { position:absolute;right:0;transform:translateY(-50%);white-space:nowrap; }
.analytics-chart-scroll { flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent; }
.interactive-chart .analytics-chart-bars { min-width:calc(var(--chart-points) * 8px);overflow:visible;margin:0;gap:2px;grid-template-columns:repeat(var(--chart-points),minmax(6px,1fr));background:linear-gradient(var(--line),var(--line)) left top/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) left 62px/100% 1px no-repeat; }
.interactive-chart .analytics-chart-column { display:grid;grid-template-rows:124px 22px;gap:8px;border:0;padding:0 3px;background:transparent;border-radius:4px;cursor:pointer;font:inherit; }
.interactive-chart .analytics-chart-track { height:124px; }
.interactive-chart .analytics-chart-track i { width:48%;max-width:28px;min-width:3px;transition:filter .15s; }
.interactive-chart .analytics-chart-column:is(.is-highlighted,[aria-pressed=true]) .analytics-chart-track i { filter:brightness(1.3); }
.interactive-chart .analytics-chart-column:is(.is-highlighted,[aria-pressed=true]) small { color:var(--text); }
.interactive-chart .analytics-chart-column:focus-visible { outline:1px solid var(--focus-line);outline-offset:-1px;background:rgba(var(--accent-rgb),.04); }
.upload-status { position:fixed;z-index:80;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));width:350px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--ui-panel,#151517);color:var(--text);box-shadow:0 12px 45px #0006; }
.upload-status-heading { display:flex;align-items:center;gap:10px; }
.upload-status-heading strong { font-size:14px;font-weight:500; }
.upload-status-icon { display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(var(--accent-rgb),.1);color:var(--pink); }
.upload-status-heading button { margin-left:auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:22px;cursor:pointer;padding:2px 6px; }
.upload-status-heading button[hidden] { display:none; }
.upload-status-context { display:block;margin-top:6px;color:var(--muted);font-size:11px; }
.upload-status-filename { margin:20px 0 10px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.upload-status progress { display:block;appearance:none;width:100%;height:4px;overflow:hidden;border:0;border-radius:6px;background:var(--line);accent-color:var(--pink); }
.upload-status progress::-webkit-progress-bar { background:var(--line);border-radius:6px; }
.upload-status progress::-webkit-progress-value { background:var(--pink);border-radius:6px;transition:width .2s ease; }
.upload-status progress::-moz-progress-bar { background:var(--pink);border-radius:6px; }
.upload-status-count,.upload-status-error { margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5; }
.upload-status-error { color:#dda2ac;overflow-wrap:anywhere; }
.upload-status[data-phase=success] .upload-status-icon { color:#a5ccb3;background:#83b49415; }
.upload-status[data-phase=success] progress::-webkit-progress-value { background:#83b494; }
.upload-status[data-phase=success] progress::-moz-progress-bar { background:#83b494; }
.upload-status[data-phase=uploading] .upload-status-icon { animation:uploadBreath 1.2s ease-in-out infinite alternate; }
@keyframes uploadBreath { to { opacity:.45; } }
@media(max-width:600px) {
  .analytics-chart-heading { align-items:flex-start;flex-direction:column;gap:5px; }
  .analytics-chart-layout { gap:6px; }
  .analytics-chart-scale { flex-basis:28px; }
  .upload-status { right:16px;bottom:calc(18px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
  .upload-status .upload-status-icon { animation:none; }
  .upload-status progress::-webkit-progress-value { transition:none; }
}

.interactive-chart .analytics-chart-column { position:relative;padding:0; }
.interactive-chart .analytics-chart-column small { position:absolute;top:132px;left:50%;transform:translateX(-50%);white-space:nowrap; }
.interactive-chart .analytics-chart-column:first-child small { left:0;transform:none; }
.interactive-chart .analytics-chart-column:last-child small { left:auto;right:0;transform:none; }
.interactive-chart .chart-label-skip { visibility:hidden; }

/* Entry screens share the same quiet controls as the workspace. */
:is(#app,body) .auth-modal {
 border-color:rgba(255,255,255,.065);border-radius:16px;background:var(--bg);
 padding:28px 24px 20px;box-shadow:0 20px 64px #0005;
}
:is(#app,body) .auth-close {
 z-index:2;
 top:14px;right:14px;width:36px;height:36px;border:0;border-radius:9px;
 background:var(--ui-panel);color:var(--muted);text-decoration:none;
}
:is(#app,body) .auth-kicker {
 gap:10px;margin:0 40px 28px 0;font-size:16px;line-height:1.4;
 letter-spacing:0;text-transform:none;color:var(--text);font-weight:500;
}
.auth-kicker img { width:36px;height:20px; }
.auth-form { gap:16px; }
:is(#app,body) .auth-form label>span:not(.auth-role-tile) {
 margin-bottom:8px;font-size:12px;line-height:1.4;letter-spacing:0;text-transform:none;
}
:is(#app,body) .auth-form input:not([type=radio]) {
 height:48px;padding:0 14px;border-radius:9px;background:var(--ui-field);color:var(--text);
}
:is(#app,body) .auth-form input:not([type=radio]):focus {
 background:var(--ui-field);box-shadow:inset 0 0 0 1px var(--focus-line);
}
:is(#app,body) .auth-form input:autofill {
 box-shadow:inset 0 0 0 100px var(--ui-field);-webkit-text-fill-color:var(--text);caret-color:var(--text);
}
:is(#app,body) .auth-form input:autofill:focus {
 box-shadow:inset 0 0 0 1px var(--focus-line),inset 0 0 0 100px var(--ui-field);
}
.auth-role-choice { grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);width:100%;gap:6px;margin-bottom:4px; }
.auth-role-choice legend { font-size:12px;margin-bottom:10px; }
.auth-role-choice .auth-role-tile {
 min-height:44px;gap:8px;padding:10px 12px;border-color:transparent;border-radius:9px;
 background:var(--ui-panel);color:var(--muted);
}
.auth-role-choice .auth-role-label { font-size:12px; }
.auth-role-icon { width:16px;height:16px;stroke:currentColor; }
.auth-role-choice input:checked+.auth-role-tile { background:var(--ui-selected);border-color:transparent;color:var(--text); }
.auth-role-choice input:checked+.auth-role-tile .auth-role-icon { color:var(--pink); }
:is(#app,body) .auth-submit { min-height:46px;height:auto;border-radius:9px;padding:12px 14px;font-size:14px;font-weight:500; }
:is(#app,body) .auth-error { margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere; }
.auth-error:empty { display:none; }
:is(#app,body) .auth-switch { min-height:44px;margin-top:12px;padding:10px 0;font-size:12px;line-height:1.5; }
.auth-legal-link { margin-top:0;min-height:36px;padding:8px 0; }
.auth-forgot { min-height:36px; }
:is(#app,body) .offer-setup h1 { font-size:clamp(25px,5vw,30px);line-height:1.25;letter-spacing:-.025em; }
:is(#app,body) .offer-setup legend { color:var(--muted);font-size:13px; }
:is(#app,body) .offer-setup :is(.offer-setup-currencies,.onboarding-language-options) { padding:0;border:0;background:transparent; }
.offer-setup :is(.offer-setup-currencies,.onboarding-language-options) legend { padding:0;margin-bottom:12px; }
:is(#app,body) .offer-setup :is(.offer-setup-currencies,.onboarding-language-options) label { min-height:52px;padding:12px 14px;border-radius:9px; }
.offer-setup-currency-symbol { border:0;background:transparent;color:var(--muted); }
.offer-setup-currencies label:has(input:checked) .offer-setup-currency-symbol { color:var(--pink); }
:is(#app,body) .offer-setup :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { background:var(--ui-field);border-color:transparent;border-radius:9px; }
:is(#app,body) .offer-setup :is(input[type=checkbox],input[type=radio]) { accent-color:var(--pink);box-shadow:none; }
:is(#app,body) .offer-setup button:not(.app-select-trigger):not(.app-select-option) { min-height:44px;border-radius:9px; }
:is(#app,body) .offer-setup .offer-primary { padding:12px 16px;font-size:14px;font-weight:500; }
:is(#app,body) :is(.auth-modal .auth-form button.auth-submit[type=submit],.offer-setup button.offer-primary[type]) { background:var(--ui-selected);color:var(--text); }
/* The custom select's transparent hit target must not cover its visible value. */
:is(#app,body) .offer-setup .app-select-control>button.app-select-trigger[type=button] { background:transparent;min-height:0; }
:is(#app,body) .offer-setup .offer-setup-add-custom { background:transparent;padding:8px 0; }
:is(#app,body) .offer-setup [data-remove-custom] { min-height:36px; }
.offer-setup footer { gap:10px;flex-wrap:wrap; }
.onboarding-connection footer>[data-connection-refresh] { flex:1; }
:is(#app,body) .app-tour-panel { background:var(--bg);border-color:rgba(255,255,255,.065);box-shadow:0 16px 42px #0005; }
:is(#app,body) .app-tour-actions button { min-height:36px;border-color:transparent;border-radius:8px;background:var(--ui-panel);color:var(--muted); }
:is(#app,body) .app-tour-actions button.is-primary { background:var(--ui-selected);color:var(--text); }
:is(#app,body) :is(.auth-close,.auth-submit,.auth-switch,.offer-setup button,.app-tour-actions button):focus-visible { outline:2px solid var(--focus-line);outline-offset:-2px; }
@media(hover:hover) and (pointer:fine) {
 .auth-role-choice label:hover .auth-role-tile { border-color:transparent;background:var(--ui-hover); }
 :is(#app,body) :is(.auth-close,.app-tour-actions button):hover { background:var(--ui-hover);color:var(--text); }
 :is(#app,body) :is(.auth-modal .auth-form button.auth-submit[type=submit],.offer-setup button.offer-primary[type]):not(:disabled):hover { background:var(--ui-hover); }
}
@media(max-width:360px) {
 :is(#app,body) .auth-modal { left:12px;right:12px;padding:24px 18px 16px; }
 .auth-role-choice .auth-role-tile { gap:6px;padding:10px 8px; }
}

/* Analytics workspace: keep the selected artist's credit and activity in one row. */
.analytics-workspace { display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:22px 0;align-items:stretch; }
.analytics-workspace > .analytics-package-credits { min-width:0;margin:0; }
.analytics-sessions-panel { min-width:0;box-sizing:border-box;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018);display:flex;flex-direction:column; }
.analytics-sessions-panel > .analytics-range { margin:0 0 12px; }
:is(#app,body) .analytics-sessions-panel > .analytics-chart { margin:0;padding:0;background:transparent;flex:1; }
.analytics-session-total { display:flex;align-items:baseline;gap:10px;margin:8px 0 14px; }
.analytics-session-total strong { font-size:32px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums; }
.analytics-session-total span { color:var(--muted);font-size:13px; }
.analytics-session-dates { list-style:none;padding:0;margin:0;display:grid;gap:0; }
.analytics-session-dates li { display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--line);font-size:12px; }
.analytics-session-dates li span { color:var(--muted);white-space:nowrap; }
.analytics-session-empty { color:var(--muted);font-size:13px;line-height:1.6;margin:24px 0; }
@media(min-width:1024px) {
 .artists-page .analytics-workspace[data-single-artist=true] { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px; }
 .artist-analytics-dialog { width:min(1040px,calc(100vw - 64px)); }
 .artist-analytics-dialog .analytics-workspace { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px; }
}
.notification-group h3 { display:flex;align-items:center;gap:8px; }
.notification-group-count { display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;box-sizing:border-box;border-radius:6px;background:rgba(var(--accent-rgb),.1);color:var(--pink);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:0; }
.notification-group.is-history .notification-group-count { background:rgba(255,255,255,.045);color:var(--muted); }
.notification-caught-up { display:grid;place-items:center;margin:0 auto 12px;width:48px;height:48px;border-radius:16px;background:rgba(var(--accent-rgb),.07);color:var(--pink); }
.notification-caught-up svg { width:30px;height:30px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.notification-caught-up circle { opacity:.3; }
/* Kokonut illustration adapted to the app theme and actual upload lifecycle. */
.upload-status-heading { min-height:48px; }
.upload-status-icon { flex:none;width:48px;height:48px;border-radius:14px;background:transparent; }
.upload-status-icon svg { width:48px;height:48px;overflow:visible; }
.upload-orbit { opacity:.32;transform-origin:50% 50%; }
.upload-complete-check,.upload-error-mark { display:none; }
.upload-complete-check { stroke-dasharray:1;stroke-dashoffset:0; }
.upload-status[data-phase=uploading] .upload-status-icon { animation:none; }
.upload-status[data-phase=uploading] .upload-orbit { animation:uploadOrbit 24s linear infinite; }
.upload-status[data-phase=uploading] .upload-arrow { animation:uploadArrow 1.6s ease-in-out infinite; }
.upload-status[data-phase=success] .upload-folder,.upload-status[data-phase=error] .upload-folder { display:none; }
.upload-status[data-phase=success] .upload-complete-check,.upload-status[data-phase=error] .upload-error-mark { display:block; }
.upload-status[data-phase=success] .upload-status-icon { background:#83b4940c; }
.upload-status[data-phase=error] .upload-status-icon { color:#dda2ac; }
@keyframes uploadOrbit { to { transform:rotate(360deg); } }
@keyframes uploadArrow { 0%,100% { transform:translateY(2px); } 50% { transform:translateY(-3px); } }
@media(prefers-reduced-motion:reduce) { .upload-status[data-phase=uploading] :is(.upload-orbit,.upload-arrow) { animation:none; } }

/* Actionable analytics belongs to one artist and links to the existing records. */
.analytics-artist-work { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0;align-items:stretch; }
.analytics-work-card { min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018); }
.analytics-work-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px; }
.analytics-work-heading h3 { font-size:14px;font-weight:500;margin:0; }
.analytics-work-heading>span { min-width:24px;text-align:center;border-radius:7px;padding:4px;background:rgba(var(--accent-rgb),.08);color:var(--pink);font-size:12px; }
.analytics-work-card h4 { margin:10px 0 0;font-size:11px;letter-spacing:.04em;font-weight:500;color:var(--muted); }
.analytics-work-item { display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;gap:14px;border:0;border-top:1px solid var(--line);border-radius:0;padding:13px 0;background:transparent;color:var(--text);font:inherit;cursor:pointer; }
.analytics-work-item:hover { color:var(--pink); }
.analytics-work-project { position:relative;isolation:isolate;overflow:hidden;min-height:112px;padding:14px 0; }
.analytics-project-art { position:absolute;inset:6px 0 6px auto;width:45%;max-width:180px;border-radius:10px;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to left,#000 8%,rgba(0,0,0,.75) 35%,transparent 100%); }
.analytics-project-art[hidden] { display:none; }
.analytics-project-art img { width:100%;height:100%;object-fit:cover;object-position:center;opacity:.32;filter:saturate(.8); }
.analytics-work-project:hover .analytics-project-art img { opacity:.42; }
.analytics-work-project .analytics-work-copy { position:relative;z-index:1;width:100%; }

.analytics-work-item:focus-visible,.analytics-work-more:focus-visible { outline:1px solid var(--focus-line,var(--pink));outline-offset:4px; }
.analytics-work-copy { display:flex;flex-direction:column;min-width:0;gap:5px; }
.analytics-work-copy strong { font-size:14px;font-weight:500;overflow-wrap:anywhere; }
.analytics-work-copy small { font-size:11px;color:var(--muted);overflow-wrap:anywhere; }
.analytics-work-due { font-size:11px;color:var(--muted); }
.analytics-work-due.is-overdue { color:var(--pink); }
.analytics-work-value { flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:12px; }
.analytics-work-value b { font-weight:500; }
.analytics-work-value>span { color:var(--muted);font-size:17px; }
.analytics-work-more { display:flex;align-items:center;gap:8px;border:0;padding:5px 0;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer; }
.analytics-work-more:hover { color:var(--text); }
.analytics-work-empty { margin:14px 0;color:var(--muted);font-size:12px;line-height:1.5; }
.analytics-project-counts { display:flex;flex-wrap:wrap;gap:20px;padding:6px 0; }
.analytics-project-counts>span { display:flex;align-items:baseline;gap:7px;color:var(--muted);font-size:11px; }
.analytics-project-counts b { color:var(--text);font-size:18px;font-weight:500; }
.analytics-project-steps { display:flex;gap:5px;margin:4px 0; }
.analytics-project-steps i { width:22px;height:3px;border-radius:2px;background:var(--line); }
.analytics-project-steps i.is-done { background:rgba(var(--accent-rgb),.4); }
.analytics-project-steps i.is-current { background:var(--pink); }
@media(max-width:1023px) { .analytics-artist-work { grid-template-columns:minmax(0,1fr);gap:18px; } }
@media(max-width:420px) { .analytics-work-card { padding:16px; } .analytics-work-value { max-width:100px; } .analytics-work-value b { overflow-wrap:anywhere; } }

.create-project-dialog .create-project-custom-type { margin-top:16px; }
.create-project-dialog .create-project-custom-type[hidden],.create-project-type-reset[hidden] { display:none; }
.create-project-type-reset { display:block;margin:9px 0 0 auto;padding:3px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer; }
.create-project-type-reset:focus-visible { outline:2px solid var(--focus-line);outline-offset:3px; }

#app .account-legal-provider-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:2px}#app .account-legal-provider-list a{overflow-wrap:anywhere}

/* Studio billing interval: full annual charge stays visible on every screen. */
.studio-plan-interval { display:flex;gap:6px;margin:0 0 14px;padding:4px;border-radius:12px;background:#111; }
.studio-plan-interval[hidden] { display:none; }
.studio-plan-interval button { flex:1;min-width:0;border:0;border-radius:9px;padding:11px 7px;background:transparent;color:var(--muted);font:inherit;font-size:13px; }
.studio-plan-interval button[aria-pressed="true"] { background:#292929;color:var(--text); }
.studio-plan-interval button small { display:block;margin-top:4px;color:var(--pink);font-size:10px; }
.studio-plan-interval button:focus-visible { outline:2px solid var(--pink);outline-offset:2px; }
.studio-plan-detail[data-plan-summary] { line-height:1.6; }

.studio-plan-dialog [hidden] { display:none !important; }

/* The template setup belongs to the invoice editor and stays usable on phones. */
.invoice-template-settings{padding:14px;border:1px solid var(--line);border-radius:12px;margin:12px 0 18px}
.invoice-template-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.invoice-template-dialog{width:min(760px,calc(100vw - 24px));max-width:760px}
.invoice-template-mapping{display:grid;gap:10px;margin:16px 0}
.invoice-template-mapping>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,230px);align-items:center;gap:12px;padding:10px;background:var(--ui-panel);border-radius:8px}
.invoice-template-mapping>label>span{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.4;max-height:100px;overflow:auto}
.invoice-template-dialog [data-sample]{margin-top:18px}
.invoice-template-settings .session-demo{margin-bottom:0}
.invoice-dialog [data-download-docx]{display:block;margin-top:10px}
.invoice-dialog [data-download-docx][hidden]{display:none}
@media(max-width:600px){.invoice-template-mapping>label{grid-template-columns:minmax(0,1fr);gap:6px}.invoice-template-dialog{padding:16px}}

.invoice-template-actions .connection-text { border:0; background:transparent; color:#c693aa; font:inherit; padding:8px 0; cursor:pointer; text-align:left; }

/* Let the writing surface grow and give the video a reversible compact mode. */
#app .lyrics-section { overflow-y:auto; -webkit-overflow-scrolling:touch; scroll-padding-bottom:32px; }
#app .lyrics-section .lyrics-paper textarea { min-height:240px; overflow-y:hidden; display:block; }
.lyrics-youtube-player[hidden] { display:none; }
.lyrics-youtube-tools { gap:8px; flex-wrap:wrap; }
.lyrics-youtube-tools [data-lyrics-youtube-toggle] { min-height:38px; padding:6px 0; color:var(--text); font-size:12px; text-align:left; }
.lyrics-youtube-tools [data-lyrics-youtube-toggle]:focus-visible { outline:2px solid var(--pink); outline-offset:3px; border-radius:4px; }

#app .account-invoice-notice-toggle { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; }
#app .account-invoice-notice-toggle>span { min-width:0; font-size:13px; line-height:1.5; color:var(--text); }
#app .account-invoice-notice-toggle input { appearance:none; -webkit-appearance:none; flex:none; width:42px; height:24px; min-height:0; margin:0; padding:0; border:0; border-radius:20px; background:var(--ui-hover); position:relative; cursor:pointer; }
#app .account-invoice-notice-toggle input::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:var(--muted); transition:transform .15s ease; }
#app .account-invoice-notice-toggle input:checked { background:var(--pink-soft); }
#app .account-invoice-notice-toggle input:checked::after { transform:translateX(18px); background:var(--pink); }
#app .account-invoice-notice-toggle input:focus-visible { outline:2px solid var(--pink); outline-offset:3px; }
#app .account-invoice-notice-toggle input:disabled { opacity:.5; cursor:wait; }
