:root {
  color-scheme: dark;
  --bg: #061327;
  --ink: #eaf7ff;
  --muted: #8fb4c8;
  --line: rgba(116, 202, 255, 0.18);
  --panel: rgba(7, 22, 42, 0.94);
  --panel-soft: rgba(11, 31, 56, 0.88);
  --accent: #19c8ff;
  --accent-dark: #7ce8ff;
  --blue: #08aeea;
  --warn: #b45309;
  --shadow: 0 20px 55px rgba(0, 0, 0, 0.28);
}

/* Clear, temporary confirmation for copy and archive actions. */
button.feedback-success {
  border-color: #d7c2a7 !important;
  background: #fff8ef !important;
  color: #735234 !important;
}

button.feedback-error {
  border-color: #cdb494 !important;
  background: #f3e7d8 !important;
  color: #735234 !important;
}

button.archive-exists {
  border-color: #d7c2a7 !important;
  background: #fff8ef !important;
  color: #735234 !important;
}

/* 美业行业切换：正式版只增加行业隔离入口，不引入测试版剪辑界面。 */
.beauty-industry-bar {
  margin: 10px 0 12px;
}

.beauty-industry-switch {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 6px;
}

.beauty-industry-switch button {
  min-width: 0;
  min-height: 38px;
  padding: 0 7px;
  border: 1px solid #ded4c7;
  border-radius: 10px;
  background: #fffdf9;
  color: #62584e;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.beauty-industry-switch button.active {
  border-color: #1f1a16;
  background: #1f1a16;
  color: #fffaf2;
  box-shadow: 0 4px 12px rgba(31, 26, 22, .16);
}

.beauty-industry-current {
  margin: 7px 2px 0;
  color: #85796c;
  font-size: 12px;
}

@media (max-width: 640px) {
  .beauty-industry-bar {
    margin: 5px 0 8px;
  }

  .beauty-industry-switch {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
  }

  .beauty-industry-switch button {
    min-height: 34px;
    padding: 0 2px;
    border-radius: 8px;
    font-size: 11px;
    letter-spacing: -.25px;
  }

  .beauty-industry-current {
    display: none;
  }

  body .page-switcher {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body .page-switcher .page-tab {
    min-height: 42px;
    font-size: 12px;
  }
}

.coaching-series-switch { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.coaching-album-tabs { flex-wrap: wrap; align-items: center; }
.album-column-menu { position: relative; margin-left: auto; }
.album-column-menu > summary { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 999px; color: #75695d; font-weight: 900; letter-spacing: 1px; cursor: pointer; list-style: none; }
.album-column-menu > summary::-webkit-details-marker { display: none; }
.album-column-menu[open] > summary { background: #eee5da; }
.album-column-menu > div { position: absolute; z-index: 40; top: calc(100% + 5px); right: 0; display: grid; min-width: 132px; padding: 5px; border: 1px solid #dfd4c6; border-radius: 11px; background: #fffdf9; box-shadow: 0 10px 25px rgba(50,40,30,.16); }
.album-column-menu > div button { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: #51483f; font-weight: 800; }
.album-column-menu > div button.danger-text-button { color: #a6473f; }
[data-album-category] { -webkit-touch-callout: none; user-select: none; }
.beauty-industry-current-row { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.beauty-industry-current-row .beauty-industry-current { margin: 0; }
.coaching-series-menu { align-self: flex-end; margin-top: 8px; }

@media (max-width: 640px) {
  .coaching-series-switch { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .coaching-series-switch button { min-height: 42px; padding: 0 2px; font-size: 11px; }
  /* 所有登录身份都必须在手机端看到“我的”账户入口。 */
  #loginStatusPill { display: inline-flex; min-width: 58px; min-height: 38px; padding: 0 12px; justify-content: center; white-space: nowrap; }
}

.coaching-column-more {
  position: relative;
}

.coaching-column-more > summary {
  display: grid;
  width: 30px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  color: #74685c;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 1px;
  cursor: pointer;
  list-style: none;
}

.coaching-column-more > summary::-webkit-details-marker { display: none; }

.coaching-column-more[open] > summary { background: #eee5da; }

.coaching-column-more > div {
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  right: 0;
  display: grid;
  min-width: 92px;
  padding: 5px;
  border: 1px solid #dfd4c6;
  border-radius: 10px;
  background: #fffdf9;
  box-shadow: 0 10px 25px rgba(50, 40, 30, .16);
}

.coaching-column-more > div button {
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #51483f;
  font-weight: 800;
  cursor: pointer;
}

.coaching-column-more > div button.danger-text-button { color: #a6473f; }

[data-beauty-industry],
[data-coaching-column],
[data-coaching-series],
[data-tutorial-column] {
  -webkit-touch-callout: none;
  user-select: none;
}

@media (max-width: 640px) {
  #coachingColumnList .coaching-column-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 2px;
  }
  #coachingColumnList .coaching-column-more > summary { width: 28px; min-height: 42px; }
}

/* 暖白主题最终覆盖：清除文案创作内部残留的深蓝和灰蓝 */
#copyPage .parse-action-button,
#copyPage .extract-button,
#copyPage .primary-button {
  border: 0;
  background: #8a5b2c;
  color: #fff;
  box-shadow: none;
}

#copyPage .parse-action-button small {
  color: #f4e8d8;
  opacity: 1;
}

#copyPage .video-preview-box,
#copyPage .source-copy-box,
#copyPage .extract-box,
#copyPage .guard-box,
#copyPage .archive-box,
#copyPage .revision-box,
#copyPage .auto-combo-box,
#copyPage .option-select,
#copyPage .option-block {
  border-color: #e3d6c6;
  background: #fbf6ef;
  color: #3f372f;
  box-shadow: none;
}

#copyPage .video-preview-head span,
#copyPage .device-save-tip,
#copyPage .source-copy-head span,
#copyPage .archive-box p,
#copyPage .auto-combo-box p {
  color: #85796c;
}

#copyPage .video-empty-state {
  border-color: #cdbda9;
  background: #211d19;
  color: #d8cabb;
}

#copyPage .video-empty-icon {
  background: rgba(185, 135, 85, .2);
  color: #e0b886;
}

#copyPage .video-upload-button,
#copyPage .listen-transcript-button {
  border-color: #d8c5aa;
  background: #fff7ea;
  color: #76522d;
}

#copyPage .ai-generated-notice {
  border-color: #e2cfb5;
  background: #f4e8d8;
  color: #76522d;
}

#copyPage .copy-placeholder-card {
  border-color: #dccbb7;
  background: #fff;
  color: #3f372f;
  box-shadow: none;
}

#copyPage .placeholder-head strong {
  color: #51463a;
}

#copyPage .placeholder-head span {
  color: #9a8a78;
}

#copyPage .placeholder-tags span {
  border-color: #e4d8ca;
  background: #f8f2e9;
  color: #8a5b2c;
}

#copyPage .simple-copy-card,
#copyPage .copy-card,
#copyPage .publish-package-card,
#copyPage .team-final-card {
  border-color: #e3d7c9;
  background: #fff;
  color: #3f372f;
  box-shadow: 0 7px 20px rgba(81, 61, 38, .06);
}

#copyPage .combo-controls select {
  border-color: #ded1c1;
  background:
    linear-gradient(45deg, transparent 50%, #9a6838 50%) calc(100% - 15px) 15px / 6px 6px no-repeat,
    linear-gradient(135deg, #9a6838 50%, transparent 50%) calc(100% - 10px) 15px / 6px 6px no-repeat,
    #fbf7f1;
  color: #3f372f;
  -webkit-text-fill-color: #3f372f;
}

#copyPage .option-select summary span,
#copyPage .auto-combo-box strong,
#copyPage .revision-box .field-label,
#copyPage .hint-line {
  color: #8a5b2c;
}

#copyPage .option-select summary strong {
  color: #51463a;
}

#copyPage .chip-grid label,
#copyPage .industry-picks button {
  border-color: #dfd1c0;
  background: #f8f2e9;
  color: #6e5d4d;
}

#copyPage .chip-grid label:has(input:checked),
#copyPage .industry-picks button.active,
#copyPage .industry-picks button:hover {
  border-color: #bd8d5b;
  background: #f0ddc5;
  color: #694720;
  box-shadow: none;
}

#copyPage .archive-head strong {
  color: #51463a;
}

#copyPage #archiveStatus {
  color: #9a6838;
}

#copyPage .archive-actions button,
#copyPage .archive-upload-button {
  border-color: #d8c5aa;
  background: #fff7ea;
  color: #76522d;
}

#copyPage .archive-actions button:disabled,
#copyPage .archive-upload-button.disabled {
  border-color: #e2d8cb;
  background: #eee8df;
  color: #a3978a;
  opacity: 1;
}

#copyPage .archive-insight {
  color: #8b7d6f;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 24% -16%, rgba(25, 200, 255, 0.24), transparent 32%),
    radial-gradient(circle at 78% 2%, rgba(88, 80, 255, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(8, 174, 234, 0.08), rgba(3, 12, 28, 0.96)),
    var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-text-size-adjust: 100%;
}

button,
select,
textarea,
input {
  font: inherit;
}

input,
textarea,
select {
  appearance: none;
  -webkit-appearance: none;
  background-color: rgba(11, 31, 56, 0.92);
  color: #eaf7ff;
  -webkit-text-fill-color: #eaf7ff;
  caret-color: #7ce8ff;
}

input::placeholder,
textarea::placeholder {
  color: rgba(180, 205, 220, 0.72);
  -webkit-text-fill-color: rgba(180, 205, 220, 0.72);
  opacity: 1;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px rgba(11, 31, 56, 0.96) inset;
  -webkit-text-fill-color: #eaf7ff;
  caret-color: #7ce8ff;
  transition: background-color 9999s ease-out 0s;
}

.app-shell {
  width: min(1280px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 22px 0 28px;
}

.hidden,
.app-shell.locked {
  display: none;
}

.access-gate.hidden {
  display: none;
}

.access-gate {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px 18px;
  background:
    radial-gradient(circle at 18% 0%, rgba(25, 200, 255, 0.18), transparent 34%),
    radial-gradient(circle at 85% 8%, rgba(88, 80, 255, 0.16), transparent 38%),
    linear-gradient(180deg, #071426 0%, #050b16 100%);
}

.access-card {
  position: relative;
  width: min(520px, 100%);
  border: 1px solid rgba(124, 232, 255, 0.16);
  border-radius: 18px;
  background: rgba(7, 22, 42, 0.86);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  padding: 30px;
  color: #eaf8ff;
  backdrop-filter: blur(18px);
}

.gate-hero {
  padding: 4px 0 22px;
  border-bottom: 1px solid rgba(124, 232, 255, 0.12);
  margin-bottom: 22px;
  text-align: center;
}

.gate-note {
  color: rgba(214, 235, 245, 0.72);
  margin: 10px auto 0;
  max-width: 360px;
  line-height: 1.6;
}

.access-card .eyebrow {
  color: #7ce8ff;
  letter-spacing: 0.02em;
}

.access-card h1 {
  color: #f3fbff;
  font-size: 34px;
  font-weight: 950;
}

.gate-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gate-points span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(25, 200, 255, 0.26);
  border-radius: 999px;
  background: rgba(25, 200, 255, 0.12);
  color: #dff9ff;
  padding: 0 11px;
  font-size: 13px;
  font-weight: 900;
}

.gate-form {
  display: grid;
  gap: 12px;
}

.register-more {
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
}

.register-more summary {
  cursor: pointer;
  color: var(--accent-dark);
  font-size: 14px;
  font-weight: 900;
}

.gate-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 2px;
}

.gate-section-title strong {
  font-size: 18px;
}

.gate-section-title span,
.admin-hint {
  color: rgba(214, 235, 245, 0.66);
  font-size: 13px;
  line-height: 1.55;
}

.gate-form input,
.gate-form textarea,
.admin-box input,
.simple-grid input,
.simple-grid select {
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(124, 232, 255, 0.14);
  border-radius: 12px;
  padding: 0 14px;
  background: #0b1f38;
  background-color: #0b1f38;
  color: #f3fbff;
  -webkit-text-fill-color: #f3fbff;
  outline: none;
}

.gate-form input::placeholder,
.gate-form textarea::placeholder,
.admin-box input::placeholder {
  color: rgba(214, 235, 245, 0.44);
}

.gate-form input:focus,
.admin-box input:focus {
  border-color: rgba(124, 232, 255, 0.62);
  background: rgba(8, 23, 43, 0.82);
  box-shadow: 0 0 0 4px rgba(25, 200, 255, 0.12);
}

.gate-form textarea {
  min-height: 92px;
  padding: 12px;
}

.gate-form button,
.admin-box button,
.approve-button,
.save-member-button,
.disable-member-button,
.reset-password-button {
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #04101f;
  cursor: pointer;
  font-weight: 900;
}

.gate-form button.register-pending {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #ecfdf5;
  opacity: 1;
}

.forgot-box {
  border-top: 1px solid rgba(124, 232, 255, 0.12);
  padding-top: 4px;
}

.forgot-box summary {
  width: fit-content;
  cursor: pointer;
  color: rgba(124, 232, 255, 0.92);
  font-size: 13px;
  font-weight: 900;
  list-style: none;
}

.forgot-box summary::-webkit-details-marker {
  display: none;
}

.forgot-form {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

#forgotStatus,
.request-reset-note {
  color: rgba(214, 235, 245, 0.72);
  font-size: 13px;
  line-height: 1.55;
}

.request-status.reset {
  background: rgba(245, 158, 11, 0.14);
  color: #ffd28a;
  border-color: rgba(245, 158, 11, 0.32);
}

.reset-password-button {
  background: rgba(245, 158, 11, 0.16);
  color: #ffd28a;
  border: 1px solid rgba(245, 158, 11, 0.36);
}

.gate-form button.register-submitting {
  background: linear-gradient(135deg, #0891b2, #22d3ee);
}

#registerStatus,
#loginStatus,
.admin-empty {
  margin: 0;
  color: rgba(124, 232, 255, 0.84);
  font-size: 13px;
  line-height: 1.55;
}

.login-help {
  margin: -2px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.gate-panel {
  display: grid;
  gap: 18px;
}

.compliance-details {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 14px;
  color: #94a3b8;
  background: rgba(15, 23, 42, 0.42);
  font-size: 12px;
  line-height: 1.65;
}

.compliance-details summary {
  cursor: pointer;
  color: #cbd5e1;
  font-weight: 700;
}

.compliance-details p {
  margin: 8px 0 0;
}

.ai-generated-notice {
  margin: -4px 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(56, 189, 248, 0.2);
  border-radius: 12px;
  color: #bae6fd;
  background: rgba(14, 116, 144, 0.12);
  font-size: 12px;
  line-height: 1.55;
}

.gate-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  color: rgba(214, 235, 245, 0.56);
  font-size: 13px;
  font-weight: 800;
}

.gate-divider::before,
.gate-divider::after {
  content: "";
  height: 1px;
  background: rgba(124, 232, 255, 0.12);
}

.admin-box {
  margin-top: 16px;
  border: 1px solid rgba(124, 232, 255, 0.14);
  border-radius: 12px;
  background: rgba(5, 18, 36, 0.52);
  padding: 12px;
}

.admin-corner {
  position: absolute;
  top: 14px;
  right: 14px;
  width: min(300px, calc(100% - 28px));
  margin-top: 0;
  background: rgba(7, 22, 42, 0.96);
  z-index: 5;
}

.admin-corner:not([open]) {
  width: auto;
  padding: 0;
  border-color: transparent;
  background: transparent;
}

.admin-box summary {
  cursor: pointer;
  color: rgba(214, 235, 245, 0.68);
  font-weight: 900;
}

.admin-corner:not([open]) summary {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  font-size: 12px;
  color: #94a3b8;
}

.admin-corner[open] summary {
  margin-bottom: 10px;
}

.student-entry-box {
  display: grid;
  gap: 8px;
  margin: 8px 0 12px;
  padding: 10px;
  border: 1px solid rgba(124, 232, 255, 0.14);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.52);
}

.student-entry-box strong {
  color: #dff9ff;
  font-size: 13px;
}

.student-entry-box img {
  width: 132px;
  height: 132px;
  border-radius: 6px;
  background: #fff;
  padding: 6px;
}

.student-entry-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: 8px;
  background: rgba(25, 200, 255, 0.18);
  color: #dff9ff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.student-entry-box p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.admin-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.admin-box input {
  margin-top: 12px;
  margin-bottom: 8px;
}

.request-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding: 12px 0;
}

.request-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0 8px;
  border-bottom: 1px solid rgba(63, 203, 255, 0.18);
}

.request-summary strong {
  color: #dff9ff;
  font-size: 15px;
}

.request-summary span {
  color: rgba(124, 232, 255, 0.78);
  font-size: 12px;
  font-weight: 900;
}

.request-row:first-child {
  margin-top: 8px;
}

.request-row p {
  color: var(--muted);
  margin: 4px 0;
  font-size: 13px;
}

.request-main {
  min-width: 0;
}

.request-title-line {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.request-title-line strong {
  color: #dff9ff;
}

.request-wechat {
  color: rgba(223, 249, 255, 0.88) !important;
  font-weight: 900;
}

.request-row span {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 800;
}

.request-status {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(25, 200, 255, 0.12);
}

.request-status.pending {
  color: #fde68a;
  background: rgba(245, 158, 11, 0.14);
}

.request-status.approved {
  color: #bbf7d0;
  background: rgba(34, 197, 94, 0.16);
}

.request-status.member {
  color: #e5e7eb;
  background: rgba(148, 163, 184, 0.22);
}

.request-status.disabled {
  color: #fecdd3;
  background: rgba(244, 63, 94, 0.16);
}

.approve-button {
  min-width: 64px;
  padding: 0 12px;
}

.member-advanced {
  margin-top: 8px;
}

.member-advanced summary {
  cursor: pointer;
  color: rgba(139, 226, 255, 0.8);
  font-size: 12px;
  font-weight: 900;
}

.member-controls {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(128px, 1fr) minmax(90px, 0.8fr) minmax(90px, 0.8fr);
  gap: 8px;
  margin-top: 8px;
}

.member-controls label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.member-controls input,
.member-controls select {
  width: 100%;
  min-height: 34px;
  margin-top: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(6, 20, 38, 0.78);
  color: var(--text);
  padding: 0 8px;
}

.request-actions {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 9px;
  min-width: 520px;
}

.account-action-row {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}

.access-admin-block {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(138, 91, 44, .2);
  border-radius: 10px;
  background: rgba(255, 250, 241, .055);
  padding: 10px;
}

.access-admin-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.access-admin-head strong {
  color: #f1ddbd;
}

.access-admin-head span,
.access-date-preview {
  color: #d8c5a8;
  font-size: 12px;
  font-weight: 800;
}

.access-admin-controls {
  display: grid;
  grid-template-columns: 90px minmax(190px, 1fr) 104px auto;
  align-items: center;
  gap: 8px;
}

.access-admin-controls select {
  min-height: 40px;
  border: 1px solid rgba(138, 91, 44, .28);
  border-radius: 8px;
  background: #14243a;
  color: #f1ddbd;
  padding: 0 8px;
}

.save-member-button,
.save-coaching-button {
  background: #8a5b2c;
  color: #fff8ea;
  border: 1px solid #a97843;
}

.stop-coaching-button {
  background: rgba(138, 91, 44, .12);
  color: #e2c8a5;
  border: 1px solid rgba(169, 120, 67, .35);
}

.member-open-row {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 7px;
}

.member-open-row select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(6, 20, 38, 0.78);
  color: var(--ink);
  padding: 0 8px;
}

.save-member-button {
  background: rgba(25, 200, 255, 0.2);
  color: var(--accent-dark);
  border: 1px solid rgba(25, 200, 255, 0.28);
}

.approve-button.state-done,
.save-member-button.state-done {
  background: rgba(148, 163, 184, 0.2);
  color: rgba(226, 232, 240, 0.78);
  border: 1px solid rgba(148, 163, 184, 0.22);
}

.disable-member-button {
  background: rgba(244, 114, 182, 0.16);
  color: #ffc2d8;
  border: 1px solid rgba(244, 114, 182, 0.25);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.topbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.owner-button,
.owner-close-button {
  min-height: 36px;
  border: 1px solid rgba(25, 200, 255, 0.32);
  border-radius: 999px;
  background: rgba(25, 200, 255, 0.12);
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  padding: 0 14px;
}

#openOwnerPanelBtn.has-new-request {
  border-color: #b97535;
  background: #fff1df;
  color: #7a431d;
}

.subtle-button {
  background: rgba(8, 23, 43, 0.55);
  color: var(--muted);
}

.contact-top-button {
  border-color: rgba(52, 211, 153, 0.35);
  background: rgba(52, 211, 153, 0.1);
  color: #a7f3d0;
}

.my-account-card { width: min(92vw, 520px); text-align: left; }
.my-account-summary { display: grid; gap: 8px; margin: 16px 0; }
.my-account-summary > div { display: grid; grid-template-columns: 92px 1fr; gap: 10px; align-items: start; padding: 10px 12px; border: 1px solid #e1d5c6; border-radius: 10px; background: #fffaf3; }
.my-account-summary span { color: #85796c; font-size: 13px; }
.my-account-summary b { color: #322b23; font-size: 14px; overflow-wrap: anywhere; }
.my-account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.my-account-actions button, .my-password-box button { min-height: 42px; border: 1px solid #d8c7b3; border-radius: 10px; background: #fffaf3; color: #5c4936; font-weight: 900; }
.my-password-box { margin-top: 10px; border: 1px solid #e1d5c6; border-radius: 10px; padding: 10px; }
.my-password-box summary { cursor: pointer; color: #5c4936; font-weight: 900; }
.my-password-box input { width: 100%; min-height: 42px; margin-top: 8px; border: 1px solid #dfd4c6; border-radius: 9px; padding: 0 11px; background: #fff; color: #322b23; }
.my-password-box button { width: 100%; margin-top: 8px; background: #8a5b2c; color: #fff; }
.my-password-box small { display: block; min-height: 18px; margin-top: 6px; color: #85796c; }
.my-account-stats { margin: 12px 0; padding: 11px; border: 1px solid #e1d5c6; border-radius: 11px; background: #fffaf3; }
.my-account-stats > strong { color: #322b23; }
.my-account-stats details { margin-top: 8px; border-top: 1px solid #eadfd2; padding-top: 8px; }
.my-account-stats summary { cursor: pointer; color: #5c4936; font-weight: 900; }
.my-account-stats details p { display: flex; justify-content: space-between; gap: 12px; margin: 7px 0 0; font-size: 13px; }
.my-account-stats details p span { color: #85796c; }
.my-account-person { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-top: 7px; padding: 8px 0; border-top: 1px solid #eadfd2; }
.my-account-person > div:first-child { display: grid; gap: 3px; min-width: 0; }
.my-account-person b { color: #322b23; font-size: 13px; }
.my-account-person span { color: #85796c; font-size: 13px; overflow-wrap: anywhere; }
.my-account-person-menu { position: relative; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.my-account-person-menu > summary { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; list-style: none; letter-spacing: 1px; }
.my-account-person-menu > summary::-webkit-details-marker { display: none; }
.my-account-person-menu[open] > summary { background: #eee5da; }
.my-account-person-menu > div { position: absolute; z-index: 40; top: calc(100% + 3px); right: 0; min-width: 148px; padding: 5px; border: 1px solid #dfd4c6; border-radius: 10px; background: #fffdf9; box-shadow: 0 10px 25px rgba(50,40,30,.16); }
.my-account-person-menu button { width: 100%; min-height: 36px; border: 0; border-radius: 7px; background: transparent; color: #a6473f; font-weight: 800; }

.contact-fangge-button {
  width: 100%;
  min-height: 42px;
  margin-top: 2px;
  border: 1px solid rgba(52, 211, 153, 0.32);
  border-radius: 10px;
  background: rgba(52, 211, 153, 0.1);
  color: #a7f3d0;
  cursor: pointer;
  font-weight: 900;
}

.modal-open {
  overflow: hidden;
}

.wechat-contact-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(1, 7, 15, 0.78);
  backdrop-filter: blur(10px);
}

.wechat-contact-modal.hidden {
  display: none;
}

.wechat-contact-card {
  position: relative;
  width: min(400px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid rgba(124, 232, 255, 0.2);
  border-radius: 18px;
  background: #f8fafc;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
  padding: 24px;
  color: #0f172a;
  text-align: center;
}

.wechat-contact-card > strong {
  display: block;
  padding: 0 34px;
  font-size: 22px;
}

.wechat-contact-card p {
  margin: 8px 0 16px;
  color: #475569;
}

.wechat-contact-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  user-select: auto;
  -webkit-user-select: auto;
  -webkit-touch-callout: default;
}

.wechat-contact-card small {
  display: block;
  margin-top: 14px;
  color: #64748b;
  line-height: 1.6;
}

.wechat-contact-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #e2e8f0;
  color: #334155;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
}

.owner-panel {
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 8px;
  background: rgba(7, 22, 42, 0.92);
  box-shadow: var(--shadow);
  padding: 14px;
  margin-bottom: 14px;
}

.owner-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 12px;
}

.owner-panel-head strong {
  font-size: 18px;
}

.owner-panel-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.owner-panel-controls {
  display: grid;
  grid-template-columns: minmax(180px, 260px) 120px;
  gap: 8px;
  margin-bottom: 8px;
}

.owner-panel-controls.compact-owner-controls {
  grid-template-columns: minmax(220px, 1fr) 120px;
}

.owner-search-hint {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
}

.request-row.search-hit {
  border-color: rgba(29, 213, 255, 0.8);
  box-shadow: 0 0 0 2px rgba(29, 213, 255, 0.14), 0 16px 36px rgba(0, 0, 0, 0.2);
}

.owner-advanced-box {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.owner-advanced-box > summary {
  cursor: pointer;
  color: rgba(139, 226, 255, 0.82);
  font-size: 13px;
  font-weight: 900;
}

.system-settings-panel {
  background: #fffaf4;
  border-color: #ead9c8;
  color: #3f3028;
}

.system-settings-panel .owner-panel-head {
  border-color: #ead9c8;
}

.system-settings-panel .owner-panel-head p,
.system-setting-card p {
  color: #806f63;
}

.system-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 12px;
}

.system-setting-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #ead9c8;
  border-radius: 12px;
  background: #fff;
}

.system-setting-card > div:first-child p {
  margin: 5px 0 12px;
  font-size: 12px;
  line-height: 1.55;
}

.system-admin-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.system-admin-search input {
  min-width: 0;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #ddc9b7;
  border-radius: 9px;
  background: #fffdf9;
  color: #3f3028;
  outline: none;
}

.system-admin-search button,
.system-admin-role-button {
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  background: #b97953;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
}

.system-admin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding: 10px;
  border-radius: 10px;
  background: #fff8f0;
}

.system-admin-row p {
  margin: 3px 0 0;
  font-size: 13px;
}

.system-storage-status {
  padding: 14px;
  border-radius: 10px;
  background: #fff8f0;
  color: #5c4436;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.7;
}

.system-feature-card {
  display: grid;
  align-content: space-between;
  gap: 14px;
}

.system-feature-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #5c4436;
}

.system-feature-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.system-feature-switch span {
  position: relative;
  width: 46px;
  height: 26px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #ded2c5;
  transition: .2s ease;
}

.system-feature-switch span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fffdf9;
  box-shadow: 0 2px 6px rgba(63, 48, 40, .2);
  transition: .2s ease;
}

.system-feature-switch input:checked + span {
  background: #8a5b2c;
}

.system-feature-switch input:checked + span::after {
  transform: translateX(20px);
}

.system-feature-switch input:focus-visible + span {
  outline: 2px solid #8a5b2c;
  outline-offset: 3px;
}

.system-settings-panel .owner-advanced-box {
  border-color: #ead9c8;
}

.system-settings-panel .owner-advanced-box > summary {
  color: #8e5b3d;
}

.owner-panel-controls input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: #0b1f38;
  background-color: #0b1f38;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  outline: none;
}

.owner-panel-controls button {
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.ai-config-panel {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(160px, 0.8fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(150px, 0.8fr) 140px;
  gap: 8px;
  align-items: end;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.ai-config-panel strong {
  color: #dff9ff;
  font-size: 15px;
}

.ai-config-panel p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.ai-config-panel input,
.ai-config-panel select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: #0b1f38;
  background-color: #0b1f38;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  outline: none;
}

.ai-config-panel p {
  grid-column: 1 / -1;
}

.ai-config-panel button {
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

#aiConfigStatus {
  grid-column: 1 / -1;
  color: var(--accent-dark);
  font-weight: 800;
}

.workflow-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin-bottom: 14px;
  border: 1px solid rgba(116, 202, 255, 0.16);
  border-radius: 8px;
  background: rgba(7, 22, 42, 0.74);
  box-shadow: var(--shadow);
  padding: 8px;
  overflow-x: auto;
}

.workflow-strip span {
  white-space: nowrap;
  min-height: 32px;
  padding: 7px 13px;
  border: 1px solid rgba(116, 202, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.workflow-strip .done {
  border-color: rgba(25, 200, 255, 0.52);
  background: rgba(25, 200, 255, 0.16);
  color: #dff9ff;
}

.eyebrow {
  margin: 0 0 5px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 800;
}

h1 {
  margin: 0;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: 0;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(25, 200, 255, 0.32);
  border-radius: 999px;
  background: rgba(8, 23, 43, 0.72);
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

.status-pill.owner-status {
  border-color: rgba(45, 212, 191, 0.48);
  color: #b7fff0;
}

.dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
}

.page-switcher {
  display: flex;
  gap: 8px;
  margin: 12px 0 14px;
}

.page-tab {
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid rgba(25, 200, 255, 0.28);
  border-radius: 999px;
  background: rgba(8, 23, 43, 0.72);
  color: var(--muted);
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
}

.page-tab.active {
  border-color: rgba(25, 200, 255, 0.72);
  background: rgba(25, 200, 255, 0.17);
  color: #eafcff;
  box-shadow: inset 0 0 0 1px rgba(25, 200, 255, 0.12);
}

.page-panel {
  display: none;
}

.page-panel.active {
  display: block;
}

.ai-video-page {
  width: 100%;
  min-height: calc(100dvh - 170px);
  overflow: hidden;
  border: 1px solid #e3d7ca;
  border-radius: 22px;
  background: #f7f1e8;
  box-shadow: 0 16px 40px rgba(67, 42, 30, .08);
}

.ai-video-page iframe {
  display: block;
  width: 100%;
  min-height: calc(100dvh - 170px);
  border: 0;
  background: #f7f1e8;
}

body.ai-video-focus {
  overflow: hidden;
  background: #f5f5f7;
}

html,
body {
  max-width: 100%;
}

/* 桌面Chrome只保留一个根滚动容器。overflow-x:hidden 会把未声明的
   overflow-y 计算成auto；同时写在html和body上会形成双滚动容器，
   页面内容虽超高但滚轮无法推动。全屏/弹窗锁定类的优先级更高，仍会正常锁屏。 */
html {
  overflow-x: hidden;
  overflow-y: auto;
}

body {
  overflow-x: clip;
  overflow-y: visible;
}

body.ai-video-focus .app-shell {
  width: 100%;
  margin: 0;
  padding: 0;
}

body.ai-video-focus .app-shell > .topbar,
body.ai-video-focus .app-shell > .owner-panel,
body.ai-video-focus .app-shell > .beauty-industry-bar,
body.ai-video-focus .app-shell > .page-switcher,
body.ai-video-focus .icp-footer,
body.ai-video-focus .back-to-top-button {
  display: none !important;
}

body.ai-video-focus .ai-video-page,
body.ai-video-focus .ai-video-page iframe {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.ai-video-focus .ai-video-page {
  position: fixed;
  z-index: 3000;
  inset: 0;
  overflow: hidden;
}

body.ai-video-preview-open {
  overflow: hidden;
}

.ai-video-page.ai-video-preview-open {
  position: fixed;
  z-index: 4000;
  inset: 0;
  width: 100vw;
  min-height: 100dvh;
  border: 0;
  border-radius: 0;
  background: #050505;
}

.ai-video-page.ai-video-preview-open iframe {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  border-radius: 0;
  background: #050505;
}

@media (max-width: 720px) {
  .ai-video-page,
  .ai-video-page iframe {
    min-height: calc(100dvh - 112px);
    border-radius: 0;
  }
}

.viral-discover-shell {
  display: block;
}

.viral-filter-panel,
.viral-feed-panel {
  min-height: 640px;
}

.viral-platform-tabs,
.viral-rank-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 16px;
}

.viral-platform-tabs button,
.viral-rank-tabs button {
  min-height: 38px;
  border: 1px solid rgba(116, 202, 255, 0.2);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.72);
  color: var(--muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}

.viral-platform-tabs button.active,
.viral-rank-tabs button.active {
  border-color: rgba(25, 200, 255, 0.66);
  background: rgba(25, 200, 255, 0.16);
  color: #edfcff;
}

.viral-filter-grid {
  grid-template-columns: 1fr 1fr;
  margin: 0 0 16px;
}

.viral-filter-grid select {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(116, 202, 255, 0.2);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.76);
  color: #eefbff;
  padding: 0 12px;
  font: inherit;
}

.viral-discover-button {
  margin-top: 4px;
}

.viral-truth-note {
  margin: 12px 0 0;
  color: #91afbd;
  font-size: 12px;
  line-height: 1.65;
}

.viral-feed-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.viral-feed-head h2 {
  margin: 0 0 4px;
}

.viral-feed-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.viral-video-feed {
  display: block;
}

.viral-update-status {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}

.viral-platform-section + .viral-platform-section {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(116, 202, 255, 0.14);
}

.viral-platform-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.viral-platform-heading h3 {
  margin: 0;
  color: #effcff;
  font-size: 19px;
}

.viral-platform-heading span {
  border-radius: 999px;
  background: rgba(25, 200, 255, 0.12);
  color: var(--accent-dark);
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 900;
}

.viral-platform-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.viral-platform-empty {
  grid-column: 1 / -1;
  border: 1px dashed rgba(116, 202, 255, 0.2);
  border-radius: 10px;
  padding: 28px 18px;
  color: var(--muted);
  text-align: center;
}

.viral-empty-state {
  grid-column: 1 / -1;
  min-height: 280px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px dashed rgba(116, 202, 255, 0.22);
  border-radius: 12px;
  padding: 28px;
  background: rgba(3, 14, 29, 0.42);
}

.viral-empty-state strong {
  color: #e8faff;
  font-size: 18px;
}

.viral-empty-state p {
  max-width: 480px;
  margin: 9px auto 0;
  color: var(--muted);
  line-height: 1.7;
}

.viral-video-card {
  overflow: hidden;
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 12px;
  background: rgba(4, 16, 32, 0.84);
}

.viral-video-card.is-playing {
  border-color: rgba(25, 200, 255, 0.56);
}

body.coaching-page-open { background: #eee8df; color: #322b23; }
.coaching-page-open .eyebrow { color: #8a5b2c; }
.coaching-page-open .owner-button, .coaching-page-open .status-pill { border-color: #d8c5aa; background: #fff9ef; color: #6d4c2b; }
.coaching-page-open .contact-top-button { border-color: #b9d4c4; background: #f0faf4; color: #416b52; }
.coaching-page-open .workflow-strip { border-color: #e1d5c6; background: #fffdf9; box-shadow: 0 8px 24px rgba(81,61,38,.06); }
.coaching-page-open .workflow-strip span { border-color: #e4d9ca; background: #f7f1e8; color: #7c7063; }
.coaching-page-open .workflow-strip .done { border-color: #d5b58e; background: #f4e4cf; color: #694720; }
.coaching-page-open .page-tab { border-color: #d8c7b0; background: #fffaf2; color: #766756; }
.coaching-page-open .page-tab.active { border-color: #a8753d; background: #8a5b2c; color: #fff; box-shadow: none; }
#discoverPage { color: #322b23; }
#discoverPage.active { margin: 0 -4px; padding: 18px; border-radius: 20px; background: #f6f2eb; }
#discoverPage .panel { min-height: 0; border: 1px solid #e7ded1; background: #fffdf9; color: #322b23; box-shadow: 0 10px 30px rgba(91, 70, 44, .08); }
#discoverPage input { border: 1px solid #d9cdbc; background: #fff; color: #322b23; -webkit-text-fill-color: #322b23; caret-color: #9b6a32; }
#discoverPage input::placeholder { color: #988c7e; -webkit-text-fill-color: #988c7e; }
#discoverPage .mini-copy-button { border-color: #d9c7ae; background: #fff9ef; color: #76522d; }
#discoverPage .primary-button { background: #8a5b2c; color: #fff; }
.coaching-lock { max-width: 620px; margin: 40px auto; padding: 52px 28px; text-align: center; }
.coaching-lock strong { display: block; font-size: 28px; }
.coaching-lock p { margin: 10px 0 24px; color: #85796c; }
.coaching-lock div { display: flex; justify-content: center; gap: 10px; }
.coaching-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; align-items: start; }
.coaching-main { grid-column: 2; grid-row: 1; }
.coaching-rail { grid-column: 1; grid-row: 1; }
.coaching-main, .coaching-rail, .coaching-album { padding: 20px; }
.coaching-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.coaching-head h2 { margin: 0 0 5px; font-size: 25px; }
.coaching-head p { margin: 0; color: #85796c; }
.coaching-manager { margin-bottom: 18px; padding: 14px; border: 1px solid #eadac4; border-radius: 14px; background: #fbf5eb; }
.coaching-manager-row { display: grid; grid-template-columns: minmax(220px, 1fr) 116px; gap: 9px; }
.coaching-manager-row input { min-width: 0; min-height: 44px; border-radius: 9px; padding: 0 12px; }
.coaching-manager p { margin: 9px 0 0; color: #85796c; font-size: 13px; }
.coaching-upload-label { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.coaching-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.coaching-load-more { grid-column: 1 / -1; width: 100%; min-height: 44px; border: 1px solid #ded6ce; border-radius: 14px; background: #fff; color: #6e625b; font-weight: 650; }
.coaching-card { overflow: hidden; min-height: 360px; border: 1px solid #e5dbce; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(81, 61, 38, .07); }
.coaching-card-pending { min-height: 0; }
.coaching-pending-media { position: relative; display: grid; height: 300px; padding: 24px; place-content: center; justify-items: center; gap: 10px; overflow: hidden; background: linear-gradient(145deg, #2b2824, #151412); color: #fffaf2; text-align: center; }
.coaching-pending-media::before { position: absolute; z-index: 1; inset: -35%; content: ""; background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.08) 50%, transparent 62%); animation: coaching-pending-shimmer 2s linear infinite; }
.coaching-pending-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.coaching-pending-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.62)); }
.coaching-pending-media strong, .coaching-pending-media small, .coaching-pending-spinner { position: relative; z-index: 1; }
.coaching-pending-media strong { font-size: 15px; }
.coaching-pending-media small { color: rgba(255,250,242,.7); font-size: 12px; }
.coaching-pending-spinner { width: 28px; height: 28px; border: 3px solid rgba(255,255,255,.22); border-top-color: #fff; border-radius: 50%; animation: coaching-pending-spin .8s linear infinite; }
.coaching-card-pending.is-error .coaching-pending-media { background: #3a2925; }
.coaching-card-pending.is-error .coaching-pending-spinner { display: none; }
.coaching-link-failure { grid-column: 1 / -1; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 64px; padding: 10px 12px; border: 1px solid #e2d3c3; border-radius: 12px; background: #fffaf4; color: #4a3829; box-shadow: 0 6px 18px rgba(91, 70, 44, .06); }
.coaching-link-failure-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #efe2d3; color: #875b35; font-weight: 900; }
.coaching-link-failure-copy { display: grid; min-width: 0; gap: 2px; }
.coaching-link-failure-copy strong { font-size: 14px; line-height: 1.35; }
.coaching-link-failure-copy small { color: #8d7b6b; font-size: 12px; line-height: 1.35; }
.coaching-link-failure button { min-width: 48px; min-height: 34px; padding: 0 10px; border: 1px solid #d8c6b4; border-radius: 9px; background: #fff; color: #76522d; font-size: 12px; font-weight: 800; }
@keyframes coaching-pending-spin { to { transform: rotate(360deg); } }
@keyframes coaching-pending-shimmer { to { transform: translateX(70%); } }
.coaching-media { position: relative; height: 300px; background: #1e1b18; display: grid; place-items: center; overflow: hidden; }
.coaching-media video, .coaching-media img { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; min-width: 0; min-height: 0; object-fit: contain !important; object-position: center center; }
.coaching-card-body { padding: 12px; }
.coaching-move-tools { display: block; min-width: 0; }
.coaching-move-select { width: 100%; min-width: 0; height: 34px; min-height: 34px; max-height: 34px; border: 1px solid #d8c5aa; border-radius: 9px; padding: 0 9px; background: #fffaf2; color: #5f4a35 !important; -webkit-text-fill-color: #5f4a35 !important; font-size: 12px; font-weight: 800; }
.coaching-move-button, .coaching-item-delete { min-height: 34px; border: 1px solid #c49a68; border-radius: 8px; padding: 0 10px; background: #f3e3ce; color: #704a25; cursor: pointer; font-weight: 800; }
.coaching-item-delete { position: absolute; z-index: 8; top: 8px; right: 8px; min-height: 26px; padding: 0 7px; border-color: #d6aaa1; background: rgba(255,240,237,.94); color: #a23c32; font-size: 10px; line-height: 1; box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.coaching-feature-toggle { position: absolute; z-index: 9; left: 10px; bottom: 10px; width: 22px; height: 22px; min-height: 22px; padding: 0; border: 2px solid rgba(163,126,79,.72); border-radius: 50%; background: rgba(255,250,240,.96); cursor: pointer; box-shadow: 0 3px 10px rgba(0,0,0,.14); }
.coaching-feature-toggle.active { border-color: #8a5b2c; background: #8a5b2c; box-shadow: 0 0 0 3px rgba(255,248,235,.92), 0 3px 12px rgba(80,51,24,.28); }
.coaching-feature-toggle:disabled { cursor: wait; opacity: .55; }
.coaching-move-button:disabled { cursor: not-allowed; opacity: .5; }
.coaching-card h3 { margin: 0 0 10px; color: #322b23; font-size: 16px; line-height: 1.45; }
.coaching-media-download { position: absolute; right: 10px; bottom: 10px; min-height: 34px; padding: 8px 12px; border: 0; border-radius: 9px; background: rgba(255,255,255,.94); color: #704a25; text-decoration: none; font-size: 13px; font-weight: 900; box-shadow: 0 4px 14px rgba(0,0,0,.16); }
.coaching-delete-button { position: absolute; top: 10px; right: 10px; border: 0; border-radius: 8px; padding: 7px 10px; background: rgba(255,240,237,.94); color: #a23c32; cursor: pointer; font-size: 12px; }
.coaching-transcript-box { position: relative; height: 122px; padding: 12px 13px 48px; overflow: hidden; border: 1px solid #e7ded2; border-radius: 12px; background: #fbfaf7; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.coaching-transcript-box p { display: -webkit-box; margin: 0; overflow: hidden; color: #463e35; font-size: 14px; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.coaching-transcript-hint { position: absolute; left: 13px; bottom: 12px; color: #9a8a78; font-size: 12px; }
.coaching-transcript-close { display: none; }
.coaching-transcript-box.is-expanded { position: fixed; z-index: 1000; top: 50%; left: 50%; width: min(680px, calc(100vw - 32px)); height: min(72vh, 640px); padding: 48px 22px 66px; overflow: visible; transform: translate(-50%, -50%); border-color: #d7c4aa; background: #fffdf9; cursor: default; box-shadow: 0 0 0 100vmax rgba(28,22,16,.48), 0 24px 70px rgba(35,25,15,.28); }
.coaching-transcript-box.is-expanded p { display: block; max-height: calc(72vh - 128px); overflow-y: auto; padding-right: 8px; font-size: 16px; line-height: 1.9; -webkit-line-clamp: unset; -webkit-overflow-scrolling: touch; }
.coaching-transcript-box.is-expanded .coaching-transcript-hint { display: none; }
.coaching-transcript-box.is-expanded .coaching-transcript-close { position: absolute; top: 12px; right: 14px; display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 50%; background: #f1e9df; color: #6c5740; cursor: pointer; font-size: 22px; }
.coaching-transcript-actions { position: absolute; left: 8px; right: 8px; bottom: 8px; display: grid; grid-template-columns: minmax(102px, 1.45fr) minmax(44px, .72fr) minmax(54px, .86fr); align-items: center; gap: 4px; }
.coaching-transcript-actions.member-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.coaching-copy-button,
.coaching-rewrite-button,
.coaching-share-button { min-height: 32px; border: 1px solid #d8c5aa; border-radius: 8px; padding: 0 12px; background: #fff7ea; color: #76522d; cursor: pointer; font-weight: 800; }
.coaching-transcript-actions .coaching-move-button { min-height: 30px; padding: 0 7px; font-size: 12px; }
.coaching-transcript-actions .coaching-copy-button,
.coaching-transcript-actions .coaching-rewrite-button,
.coaching-transcript-actions .coaching-share-button { width: 100%; min-height: 34px; padding: 0 6px; border-radius: 9px; font-size: 11px; white-space: nowrap; }
.coaching-share-button { position: absolute; z-index: 8; top: 8px; left: 8px; min-height: 28px !important; width: auto !important; padding: 0 10px !important; border-color: #d7c3a5; background: rgba(255,250,242,.95); color: #694b2f; box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.coaching-share-button,
.coaching-item-delete,
.coaching-media-download { display: grid; width: 44px !important; min-width: 44px; height: 28px; min-height: 28px !important; padding: 0 !important; place-items: center; border-radius: 7px; font-size: 11px; line-height: 1; }
.coaching-rewrite-button { border-color: #9f713e; background: #8a5b2c; color: #fffaf0; }
.coaching-card-empty { display: grid; place-items: center; min-height: 390px; border-style: dashed; background: #faf7f2; box-shadow: none; }
.coaching-card-empty[type="button"] { width: 100%; color: inherit; cursor: pointer; }
.coaching-card-empty > div { padding: 28px; text-align: center; color: #948779; }
.coaching-card-empty span { display: grid; width: 38px; height: 38px; margin: 0 auto 12px; place-items: center; border-radius: 50%; background: #eee5d9; color: #795a36; font-weight: 900; }
.coaching-card-empty strong { display: block; color: #695c4f; }
.coaching-card-empty p { margin: 8px 0 0; font-size: 13px; }
.coaching-rail { position: sticky; top: 16px; }
.coaching-rail > strong { display: block; margin-bottom: 12px; font-size: 18px; }
.coaching-column-list { display: grid; gap: 7px; }
.coaching-column-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px; align-items: center; }
.coaching-column-row > button, .coaching-album-entry { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 0; border-radius: 10px; padding: 11px 12px; background: #f3ede4; color: #51463a; text-align: left; cursor: pointer; }
.coaching-column-row > button.active { color: #fff; background: #8a5b2c; }
.coaching-column-row small { opacity: .72; white-space: nowrap; }
.coaching-column-row > span { display: flex; gap: 1px; }
.coaching-column-row > span button { border: 0; padding: 4px; background: transparent; color: #927b61; cursor: pointer; }
.coaching-column-manager { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 10px; }
.coaching-column-manager.hidden { display: none !important; }
.coaching-series-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.coaching-series-switch button { min-width: 0; min-height: 42px; padding: 0 2px; border: 1px solid #d9c7ae; border-radius: 10px; background: #fff9ef; color: #76522d; cursor: pointer; font-size: 12px; font-weight: 800; white-space: nowrap; }
.coaching-series-switch button.active { border-color: #8a5b2c; background: #8a5b2c; color: #fff; box-shadow: 0 5px 14px rgba(111,75,37,.18); }
.coaching-album-entry { margin-top: 18px; border: 1px solid #dec7a8; background: #fff7ea; font-weight: 800; }
.coaching-album-tabs { display: flex; gap: 8px; margin-bottom: 15px; }
.coaching-album-tabs button { min-width: 72px; border: 1px solid #dbcab4; border-radius: 999px; padding: 8px 18px; background: #fff; color: #594a3b; cursor: pointer; }
.coaching-album-tabs button.active { background: #8a5b2c; color: #fff; }
#coachingAlbumGrid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.coaching-card-album { position: relative; aspect-ratio: 1; min-height: 0; overflow: hidden; border: 0; border-radius: 2px; box-shadow: none; cursor: pointer; }
.coaching-card-album .coaching-media { width: 100%; height: 100%; background: #eee9e2; }
.coaching-card-album .coaching-media img { object-fit: cover !important; }
.coaching-card-album .coaching-media-download { display: none !important; }
.coaching-card-album .coaching-delete-button { top: 5px; right: 5px; padding: 5px 7px; }
.coaching-album-play { display: none !important; }
.coaching-album-duration { position: absolute; z-index: 4; right: 5px; bottom: 5px; min-width: 0; padding: 2px 4px; border-radius: 4px; background: rgba(0,0,0,.58); color: #fff; font-size: 10px; font-weight: 700; line-height: 1.2; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.coaching-album-duration:empty { display: none; }
.coaching-album-video-placeholder { color: #88796b; font-size: 12px; }
.coaching-album-empty { grid-column: 1 / -1; padding: 60px 20px; color: #998b7e; text-align: center; }
.coaching-album-preview { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 18px; overflow: hidden; background: rgba(18,15,12,.94); touch-action: none; overscroll-behavior: none; }
.coaching-album-preview-inner { position: relative; display: grid; width: min(920px, 96vw); height: min(92vh, 920px); place-items: center; }
.coaching-album-zoom-stage { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; touch-action: none; }
.coaching-album-preview img, .coaching-album-preview video { display: block; max-width: 100%; max-height: 82vh; object-fit: contain; }
.coaching-album-zoom-image { transform-origin: center; transition: transform .18s ease; user-select: none; -webkit-user-drag: none; }
.coaching-album-zoom-image.is-zoomed { transition: none; cursor: grab; }
.coaching-album-video-stage { position: relative; display: grid; max-width: 100%; max-height: 82vh; place-items: center; overflow: hidden; background: #171411; }
.coaching-album-video-stage video { width: auto; height: auto; }
.coaching-album-video-cover { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; max-height: none !important; object-fit: contain; background: #171411; transition: opacity .16s ease; }
.coaching-album-video-cover.hidden { opacity: 0; pointer-events: none; }
.coaching-album-video-loading { position: absolute; z-index: 2; left: 50%; bottom: 18px; transform: translateX(-50%); padding: 6px 11px; border-radius: 999px; background: rgba(0,0,0,.58); color: #fff; font-size: 12px; white-space: nowrap; }
.coaching-album-video-loading.hidden { display: none; }
.coaching-album-preview-close { position: absolute; z-index: 2; top: -12px; right: -12px; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; background: #fff; color: #4c4035; font-size: 25px; cursor: pointer; }
.coaching-album-preview-count { position: absolute; z-index: 3; top: 8px; left: 50%; transform: translateX(-50%); padding: 5px 10px; border-radius: 999px; background: rgba(0,0,0,.46); color: #fff; font-size: 12px; }
.coaching-album-preview-actions { position: absolute; z-index: 3; right: 10px; bottom: 10px; display: flex; gap: 7px; }
.coaching-album-preview-actions a, .coaching-album-preview-actions button { position: static; min-height: 38px; margin: 0; border: 0; border-radius: 9px; padding: 9px 15px; background: rgba(255,255,255,.94); color: #704a25; text-decoration: none; font-weight: 900; box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.coaching-album-preview-open { overflow: hidden !important; }
.coaching-fullscreen-open { overflow: hidden !important; }
.coaching-playback-preload { position: fixed !important; left: -4px !important; bottom: -4px !important; width: 2px !important; height: 2px !important; opacity: .001 !important; pointer-events: none !important; }
.coaching-fullscreen-player { position: fixed; z-index: 3000; inset: 0; width: 100vw; height: 100dvh; overflow: hidden; background: #111; isolation: isolate; touch-action: none; overscroll-behavior: none; }
.coaching-fullscreen-player::before { content: ""; position: absolute; z-index: 0; inset: -28px; background: var(--coaching-poster) center / cover no-repeat; filter: blur(24px) brightness(.46); transform: scale(1.08); }
.coaching-fullscreen-player video { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; background: transparent; opacity: 0; transition: opacity .12s ease, height .22s ease; }
.coaching-fullscreen-player.is-ready video { opacity: 1; }
.coaching-fullscreen-cover { position: absolute; z-index: 2; inset: 0 0 auto; width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; background: transparent; opacity: 1; visibility: visible; transition: opacity .16s ease, visibility .16s ease, height .22s ease; }
.coaching-fullscreen-cover.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.coaching-fullscreen-cover img { width: 100%; height: 100%; object-fit: contain; }
.coaching-fullscreen-cover span { position: absolute; left: 50%; bottom: max(72px, calc(env(safe-area-inset-bottom) + 62px)); transform: translateX(-50%); padding: 7px 12px; border-radius: 999px; background: rgba(0,0,0,.46); color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; backdrop-filter: blur(6px); }
.coaching-fullscreen-back { position: absolute; z-index: 4; top: max(14px, env(safe-area-inset-top)); right: 14px; min-width: 64px; min-height: 38px; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(0,0,0,.48); color: #fff; font-size: 15px; font-weight: 800; backdrop-filter: blur(8px); }
.coaching-fullscreen-download { position: absolute; z-index: 4; right: 14px; bottom: max(18px, env(safe-area-inset-bottom)); padding: 9px 14px; border: 0; border-radius: 999px; background: rgba(0,0,0,.48); color: #fff; text-decoration: none; font-size: 13px; font-weight: 800; backdrop-filter: blur(8px); }
.coaching-download-status { position: fixed; z-index: 13000; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); width: min(430px, calc(100vw - 24px)); transform: translateX(-50%); padding: 13px 14px; border: 1px solid rgba(112,74,37,.16); border-radius: 16px; background: rgba(255,250,244,.97); color: #5f4328; box-shadow: 0 12px 35px rgba(57,38,22,.22); backdrop-filter: blur(14px); }
.coaching-download-status.hidden { display: none; }
.coaching-download-status > div { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; }
.coaching-download-status strong { font-size: 14px; }
.coaching-download-status span { font-size: 12px; font-weight: 900; }
.coaching-download-status button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(112,74,37,.1); color: inherit; font-size: 18px; }
.coaching-download-status > i { display: block; height: 6px; margin-top: 9px; overflow: hidden; border-radius: 99px; background: rgba(112,74,37,.12); }
.coaching-download-status > i > b { display: block; width: 8%; height: 100%; border-radius: inherit; background: #a67441; transition: width .15s linear; }
.coaching-download-status p { margin: 7px 0 0; font-size: 12px; }
.coaching-download-status.is-done > i > b { background: #46875e; }
.coaching-download-status.is-failed > i > b { background: #b34d43; }
.coaching-fullscreen-copy-sheet { position: absolute; z-index: 5; left: 0; right: 0; bottom: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto; height: 32dvh; padding: 12px 14px max(12px,env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; background: rgba(255,253,249,.98); color: #241f1a; transform: translateY(102%); transition: transform .22s ease; box-shadow: 0 -10px 30px rgba(0,0,0,.2); }
.coaching-fullscreen-player.copy-open video, .coaching-fullscreen-player.copy-open .coaching-fullscreen-cover { height: 68dvh; }
.coaching-fullscreen-player.copy-open .coaching-fullscreen-copy-sheet { transform: translateY(0); }
.coaching-fullscreen-player.copy-open .coaching-fullscreen-download { display: none; }
.coaching-fullscreen-copy-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 7px; }
.coaching-fullscreen-copy-head strong { font-size: 15px; }
.coaching-fullscreen-copy-head span { color: #8c8074; font-size: 11px; }
.coaching-fullscreen-copy-sheet > p { min-height: 0; margin: 0; padding: 2px 2px 10px; overflow-y: auto; color: #2b251f; font-size: 15px; line-height: 1.75; text-align: left; word-break: break-word; touch-action: pan-y; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.coaching-fullscreen-copy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 8px; border-top: 1px solid #eadfd2; }
.coaching-fullscreen-copy-actions button { min-height: 38px; border: 0; border-radius: 10px; background: #efe4d5; color: #493624; font-size: 14px; font-weight: 850; }
.coaching-fullscreen-copy-actions button:last-child { background: #8a5b2c; color: #fff; }
.back-to-top-button { position: fixed; z-index: 900; right: 16px; bottom: max(24px, calc(env(safe-area-inset-bottom) + 18px)); display: grid; width: 44px; height: 44px; min-height: 44px; padding: 0; place-items: center; transform: translateY(16px); border: 1px solid rgba(138,91,44,.42); border-radius: 50%; background: rgba(255,250,242,.94); color: #704a25; font-size: 25px; font-weight: 900; line-height: 1; box-shadow: 0 6px 20px rgba(57,38,20,.22); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; backdrop-filter: blur(8px); }
.back-to-top-button.is-visible { transform: translateY(0); opacity: 1; visibility: visible; pointer-events: auto; }
.coaching-fullscreen-open .back-to-top-button { display: none !important; }

/* 文案工作台与陪跑系统统一为暖白视觉 */
body:not(.coaching-page-open) {
  background: #eee8df;
  color: #322b23;
}

body:not(.coaching-page-open) .topbar,
body:not(.coaching-page-open) .topbar h1 {
  color: #322b23;
}

body:not(.coaching-page-open) .eyebrow {
  color: #8a5b2c;
}

body:not(.coaching-page-open) .owner-button,
body:not(.coaching-page-open) .owner-close-button,
body:not(.coaching-page-open) .status-pill,
body:not(.coaching-page-open) .page-tab {
  border-color: #d9c7ae;
  background: #fff9ef;
  color: #76522d;
}

body:not(.coaching-page-open) .contact-top-button {
  border-color: #bfd9c9;
  background: #f1faf4;
  color: #35704c;
}

body:not(.coaching-page-open) .subtle-button {
  background: #e9e1d7;
  color: #76695d;
}

body:not(.coaching-page-open) .status-pill.owner-status {
  border-color: #d2b58f;
  background: #f6ead9;
  color: #694720;
}

body:not(.coaching-page-open) .dot {
  background: #a56d36;
}

body:not(.coaching-page-open) .workflow-strip {
  border-color: #e1d5c6;
  background: #fffdf9;
  box-shadow: 0 8px 24px rgba(81, 61, 38, .06);
}

body:not(.coaching-page-open) .workflow-strip span {
  border-color: #e4d9ca;
  background: #f7f1e8;
  color: #7c7063;
}

body:not(.coaching-page-open) .workflow-strip .done,
body:not(.coaching-page-open) .page-tab.active {
  border-color: #d5b58e;
  background: #f4e4cf;
  color: #694720;
  box-shadow: none;
}

#copyPage .panel {
  border-color: #e7ded1;
  background: #fffdf9;
  color: #322b23;
  box-shadow: 0 10px 30px rgba(91, 70, 44, .08);
}

#copyPage .panel-title p,
#copyPage .guard-box p,
#copyPage .extract-box span,
#copyPage .empty-state p,
#copyPage .copy-card-title span,
#copyPage .copy-placeholder-card p,
#copyPage .thinking-title span,
#copyPage .thinking-panel p,
#copyPage .thinking-panel li,
#copyPage .copy-loading-box,
#copyPage .copy-loading-box p {
  color: #85796c;
}

#copyPage .icon {
  background: linear-gradient(135deg, #b98755, #8a5b2c);
}

#copyPage textarea,
#copyPage input,
#copyPage select,
#copyPage .simple-grid input,
#copyPage .simple-grid select,
#copyPage .combo-controls select {
  border-color: #ded1c1;
  background-color: #fbf7f1;
  color: #3f372f;
  -webkit-text-fill-color: #3f372f;
  caret-color: #8a5b2c;
}

#copyPage input::placeholder,
#copyPage textarea::placeholder {
  color: #a09487;
  -webkit-text-fill-color: #a09487;
}

#copyPage textarea:focus,
#copyPage input:focus,
#copyPage select:focus,
#copyPage .combo-controls select:focus {
  border-color: #b98755;
  box-shadow: 0 0 0 3px rgba(185, 135, 85, .14);
}

#copyPage .source-clear-button {
  background: rgba(255, 249, 239, .94);
  color: #76522d;
  box-shadow: 0 6px 18px rgba(91, 70, 44, .12);
}

#copyPage .extract-button,
#copyPage .primary-button,
#copyPage .copy-card-top-actions .copy-card-button.primary {
  border-color: #8a5b2c;
  background: #8a5b2c;
  color: #fff;
}

#copyPage .copy-card-button,
#copyPage .mini-copy-button,
#copyPage .coaching-copy-button {
  border-color: #d8c5aa;
  background: #fff7ea;
  color: #76522d;
}

#copyPage .media-action-grid,
#copyPage .control-grid label,
#copyPage .simple-grid label,
#copyPage .combo-controls span,
#copyPage .copy-card-head strong,
#copyPage #aiConfigStatus {
  color: #8a5b2c;
}

#copyPage .copy-card,
#copyPage .simple-copy-card,
#copyPage .publish-package-card {
  border-color: #e5dbce;
  background: #fff;
  color: #3f372f;
  box-shadow: 0 8px 24px rgba(81, 61, 38, .06);
}

#copyPage .copy-card.recommended {
  border-color: #d3b48d;
  box-shadow: inset 0 0 24px rgba(185, 135, 85, .07);
}

#copyPage .simple-copy-card .copy-card-head,
#copyPage .copy-card-head,
#copyPage .thinking-title {
  border-color: #e9dfd2;
}

#copyPage .copy-card-body,
#copyPage .copy-card-loading strong,
#copyPage .thinking-title strong {
  color: #3f372f;
}

#copyPage .thinking-panel,
#copyPage .copy-loading-box,
#copyPage .asset-status,
#copyPage .asset-result {
  border-color: #e4d6c5;
  background: #fbf6ef;
  color: #6f6256;
}

#copyPage .thinking-panel b,
#copyPage .copy-loading-box span,
#copyPage .asset-result strong,
#copyPage .asset-result a {
  color: #8a5b2c;
}

#copyPage .step-num {
  color: #9a6838;
}

#copyPage .step-mark {
  border-color: #ddcbb6;
  background: #fff9ef;
  color: #8a5b2c;
}

@media (max-width: 760px) {
  #discoverPage.active { margin: 0 -10px; padding: 10px; border-radius: 14px; }
  .coaching-shell { display: flex; flex-direction: column; gap: 10px; }
  .coaching-rail { order: -1; position: static; width: 100%; padding: 10px; overflow: hidden; }
  .coaching-rail > strong { display: none; }
  #coachingColumnList { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; gap: 6px; padding: 1px 0 6px; }
  #coachingColumnList .coaching-column-row { min-width: 0; display: block; }
  #coachingColumnList .coaching-column-row > button { width: 100%; min-width: 0; min-height: 44px; padding: 7px 3px; justify-content: center; white-space: normal; line-height: 1.15; text-align: center; gap: 2px; font-size: 13px; }
  .coaching-column-row > span { display: none; justify-content: center; }
  .coaching-column-row > button.active + span { display: flex; }
  .coaching-column-manager { display: flex; }
  .coaching-column-manager button { flex: 1; }
  .coaching-series-switch { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 8px; }
  .coaching-series-switch button { min-width: 0; min-height: 46px; padding: 0 4px; font-size: 14px; white-space: nowrap; }
  .coaching-album-entry { margin-top: 8px; min-height: 42px; }
  .coaching-main, .coaching-album { width: 100%; padding: 12px; }
  .coaching-head h2 { font-size: 21px; }
  .coaching-manager { padding: 10px; }
  .coaching-manager-row { grid-template-columns: minmax(0, 1fr) 104px; }
  .coaching-manager-row input { grid-column: auto; width: 100%; }
  #coachingGrid { width: calc(100% + 24px); margin: 0 -12px; grid-template-columns: 1fr; gap: 8px; }
  #coachingAlbumGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  .coaching-card.coaching-card-album { min-height: 0; aspect-ratio: 3 / 4; border: 1px solid #e5dbce; border-radius: 10px; background: #f2ede6; }
  .coaching-card-album .coaching-media { height: 100%; background: #f2ede6; }
  .coaching-card-album .coaching-media img,
  .coaching-card-album .coaching-media video { object-fit: contain !important; background: #f2ede6; }
  .coaching-card-album .coaching-media-download { display: none !important; }
  .coaching-card-album .coaching-delete-button { top: 6px; right: 6px; }
  #coachingGrid .coaching-card { min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  #coachingGrid .coaching-media { width: 100%; height: auto; min-height: 0; aspect-ratio: 9 / 16; background: #000; }
  #coachingGrid .coaching-pending-media { width: 100%; height: auto; min-height: 0; aspect-ratio: 9 / 16; }
  #coachingGrid .coaching-media img,
  #coachingGrid .coaching-media video { object-fit: cover !important; }
  #coachingGrid .coaching-card-body { padding: 5px 8px 7px; background: #fffdf9; }
  #coachingGrid .coaching-transcript-box:not(.is-expanded) { height: 56px; padding: 8px 10px; border: 0; border-radius: 8px; background: #fffdf9; }
  #coachingGrid .coaching-transcript-box:not(.is-expanded) p { font-size: 13px; line-height: 1.5; -webkit-line-clamp: 2; }
  #coachingGrid .coaching-transcript-box:not(.is-expanded) p { padding-right: 118px; }
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-transcript-actions { left: auto; right: 7px; bottom: 6px; display: flex; width: auto; gap: 3px; }
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-move-tools { display: none; }
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-rewrite-button,
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-copy-button { width: auto; min-width: 48px; min-height: 24px; height: 24px; padding: 0 7px; border-radius: 6px; font-size: 10px; line-height: 1; }
  #coachingGrid .coaching-transcript-box.is-expanded .coaching-transcript-actions { display: grid; }
  .coaching-transcript-actions { grid-template-columns: minmax(132px, 1.5fr) minmax(58px, .72fr) minmax(70px, .86fr); }
  .coaching-transcript-actions.member-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coaching-transcript-box.is-expanded { width: calc(100vw - 22px); height: 76vh; padding: 46px 17px 64px; }
  .coaching-transcript-box.is-expanded p { max-height: calc(76vh - 120px); font-size: 15px; }
  .coaching-card-empty { min-height: 220px; }
  .coaching-actions button, .coaching-actions a { flex: 1 1 calc(50% - 7px); min-height: 38px; text-align: center; }
}

.viral-rank-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  color: #f2fcff;
  font-size: 13px;
  font-weight: 900;
}

.viral-rank-line span:last-child {
  color: var(--accent-dark);
}

.viral-video-stage {
  position: relative;
  aspect-ratio: 9 / 12;
  overflow: hidden;
  background: #020911;
  cursor: pointer;
}

.viral-video-stage video,
.viral-video-stage img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.viral-video-stage video {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.viral-play-state {
  position: absolute;
  z-index: 3;
  inset: auto 12px 12px;
  width: max-content;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.66);
  color: #fff;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 900;
  pointer-events: none;
}

.viral-card-body {
  padding: 12px;
}

.viral-video-title {
  margin: 0 0 9px;
  color: #f2fbff;
  font-size: 15px;
  line-height: 1.55;
}

.viral-opening {
  margin: 0 0 10px;
  border-left: 3px solid rgba(25, 200, 255, 0.68);
  padding-left: 9px;
  color: #cfe9f4;
  font-size: 13px;
  line-height: 1.65;
  max-height: 190px;
  overflow: auto;
}

.viral-opening b {
  display: block;
  margin-bottom: 3px;
  color: var(--accent-dark);
  font-size: 12px;
}

.viral-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: #b9d4df;
  font-size: 12px;
}

.viral-meta-line {
  margin-top: 8px;
  color: #7897a5;
  font-size: 11px;
  line-height: 1.5;
}

.viral-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 11px;
}

.viral-card-actions button {
  min-height: 38px;
}

.viral-card-actions .primary-button {
  grid-column: 1 / -1;
}

.workspace {
  display: grid;
  grid-template-columns: 282px minmax(420px, 1.1fr) minmax(390px, 1fr);
  gap: 14px;
  align-items: stretch;
}

.workspace-three {
  grid-template-columns: minmax(300px, 0.82fr) minmax(470px, 1.16fr) minmax(430px, 1.02fr);
}

.workspace-two {
  grid-template-columns: minmax(470px, 1fr) minmax(430px, 1fr);
}

.profile-panel {
  min-height: auto;
  margin-bottom: 14px;
}

.profile-panel .panel-title {
  align-items: flex-start;
}

.profile-close-button {
  margin-left: auto;
  flex: 0 0 auto;
}

.profile-save-status {
  margin-left: auto;
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}

.profile-save-status + .profile-close-button {
  margin-left: 0;
}

.profile-panel .simple-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-panel .archive-box {
  margin-top: 14px;
}

.profile-save-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(116, 202, 255, 0.12);
}

.profile-upload-button,
#saveProfileBtn {
  min-height: 44px;
  min-width: 156px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

#saveProfileBtn.has-changes {
  box-shadow: 0 0 0 3px rgba(81, 185, 255, 0.16);
}

.panel {
  min-height: 760px;
  border: 1px solid rgba(116, 202, 255, 0.16);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
  padding: 18px;
}

.workspace-three .panel {
  min-height: 700px;
}

.benchmark-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(430px, 1fr) minmax(430px, 1fr);
  gap: 14px;
  align-items: stretch;
}

.benchmark-panel {
  min-height: 700px;
}

.benchmark-form-grid {
  grid-template-columns: 1fr 112px;
  margin-top: 12px;
}

.benchmark-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.benchmark-rules span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(25, 200, 255, 0.28);
  border-radius: 999px;
  background: rgba(25, 200, 255, 0.1);
  color: #dff9ff;
  padding: 0 11px;
  font-size: 12px;
  font-weight: 900;
}

.benchmark-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 10px;
}

.benchmark-actions .primary-button {
  margin-top: 0;
}

.truth-note {
  border: 1px dashed rgba(116, 202, 255, 0.22);
  border-radius: 8px;
  margin-top: 12px;
  padding: 10px;
  color: #b7d2df;
  font-size: 12px;
  line-height: 1.6;
}

.benchmark-task-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

#benchmarkTaskStatus {
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 900;
}

.benchmark-task-list,
.benchmark-copy-list {
  display: grid;
  gap: 10px;
}

.benchmark-task-card,
.benchmark-copy-card,
.benchmark-pattern-card {
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.62);
  padding: 12px;
}

.benchmark-task-card.running {
  border-color: rgba(25, 200, 255, 0.55);
}

.benchmark-task-card.done {
  border-color: rgba(34, 197, 94, 0.38);
}

.benchmark-task-card.failed {
  border-color: rgba(248, 113, 113, 0.38);
}

.benchmark-card-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.benchmark-card-head strong {
  color: #eafcff;
  font-size: 14px;
}

.benchmark-card-head span {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.benchmark-task-card p,
.benchmark-copy-card p,
.benchmark-pattern-card p {
  margin: 0 0 8px;
  color: #c8dfeb;
  font-size: 13px;
  line-height: 1.65;
}

.benchmark-task-meta {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
  word-break: break-all;
}

.benchmark-task-actions,
.benchmark-copy-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.benchmark-pattern-card {
  margin: 12px 0;
  color: #c8dfeb;
  font-size: 13px;
  line-height: 1.7;
}

.benchmark-pattern-card b {
  color: var(--accent-dark);
}

.benchmark-copy-card .copy-text {
  color: #eaf7ff;
  font-size: 14px;
  line-height: 1.75;
}

.panel-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
}

.icon {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 7px;
  background: linear-gradient(135deg, #12c7ff, #1374ff);
  color: #fff;
  font-weight: 800;
}

h2 {
  margin: 0 0 4px;
  font-size: 18px;
  letter-spacing: 0;
}

.panel-title p,
.guard-box p,
.extract-box span,
.empty-state p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.field-label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 800;
}

textarea {
  width: 100%;
  min-height: 220px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 13px;
  background: #0b1f38;
  background-color: #0b1f38;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  outline: none;
  line-height: 1.65;
}

#copySourceInput {
  min-height: 104px;
  padding-right: 94px;
  padding-bottom: 42px;
}

.source-input-wrap {
  position: relative;
}

.source-clear-button {
  position: absolute;
  right: 10px;
  bottom: 10px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(5, 18, 36, 0.82);
  color: rgba(223, 249, 255, 0.86);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

textarea:focus,
select:focus {
  border-color: rgba(45, 108, 223, 0.85);
  box-shadow: 0 0 0 3px rgba(45, 108, 223, 0.12);
}

.quick-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}

.copy-card-button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  border-color: rgba(25, 200, 255, 0.38);
  background: rgba(25, 200, 255, 0.14);
  color: #dff9ff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}

.mini-copy-button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(25, 200, 255, 0.35);
  border-radius: 7px;
  background: rgba(25, 200, 255, 0.12);
  color: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.extract-button {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.media-action-grid,
.media-result-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
}

.parse-action-button {
  width: 100%;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
  border: 0;
  border-radius: 12px;
  padding: 0 18px;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #fff;
  cursor: pointer;
  text-align: left;
}

.parse-action-button strong {
  flex: 0 0 auto;
  font-size: 19px;
}

.parse-action-button small {
  opacity: 0.82;
  font-size: 13px;
  line-height: 1.45;
  text-align: right;
}

.parse-action-button:disabled {
  cursor: wait;
  opacity: 0.76;
}

.media-action-card {
  min-height: 88px;
  border: 1px solid rgba(25, 200, 255, 0.34);
  border-radius: 12px;
  padding: 13px 14px;
  background: linear-gradient(145deg, rgba(8, 174, 234, 0.17), rgba(9, 27, 50, 0.94));
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.transcript-action-card {
  border: 0;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #fff;
}

.media-action-card strong,
.media-action-card small,
.media-action-kicker {
  display: block;
}

.media-action-card strong {
  margin: 3px 0 5px;
  font-size: 16px;
}

.media-action-card small {
  opacity: 0.78;
  font-size: 12px;
  line-height: 1.45;
}

.media-action-kicker {
  opacity: 0.62;
  font-size: 11px;
  font-weight: 900;
}

.media-action-card:disabled {
  cursor: wait;
  opacity: 0.74;
}

.video-preview-box {
  min-width: 0;
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(5, 18, 36, 0.92);
}

.video-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.video-preview-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

#videoPreview {
  width: 100%;
  min-height: 176px;
  max-height: 520px;
  border-radius: 10px;
  background: #020914;
  object-fit: contain;
}

.video-stage {
  position: relative;
  min-height: 176px;
  overflow: hidden;
  border-radius: 10px;
  background: #020914;
}

.video-poster-frame {
  width: 100%;
  min-height: 176px;
  max-height: 460px;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  background: #020617;
}

.video-download-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 6px;
  padding: 20px;
  background: rgba(2, 9, 20, 0.52);
  color: #fff;
  text-align: center;
  pointer-events: none;
}

.video-download-overlay strong {
  font-size: 18px;
  line-height: 1.3;
}

.video-download-overlay span {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
}

.video-download-overlay.hidden {
  display: none;
}

.video-empty-state {
  min-height: 176px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  border: 1px dashed rgba(124, 232, 255, 0.2);
  border-radius: 10px;
  color: var(--muted);
  text-align: center;
}

.video-empty-state p,
.video-empty-state small {
  margin: 0;
}

.video-upload-button,
.listen-transcript-button {
  min-height: 34px;
  border: 1px solid rgba(124, 232, 255, 0.34);
  border-radius: 999px;
  padding: 7px 13px;
  background: rgba(25, 200, 255, 0.12);
  color: #bff4ff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.video-upload-button:active,
.listen-transcript-button:active {
  transform: translateY(1px);
}

.listen-transcript-button.is-listening {
  border-color: rgba(255, 112, 112, 0.7);
  background: rgba(255, 77, 77, 0.18);
  color: #ffd1d1;
}

.video-empty-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(25, 200, 255, 0.14);
  color: #7ce8ff;
  font-size: 18px;
}

#videoPreview {
  width: auto;
  max-width: 100%;
  max-height: 460px;
  display: block;
  margin: 0 auto;
  border-radius: 10px;
  background: #020617;
}

.video-ready-actions {
  display: grid;
  grid-template-columns: minmax(0, 220px);
  justify-content: start;
  gap: 8px;
  margin-top: 10px;
}

.video-ready-actions .primary-button {
  margin: 0;
}

.device-save-tip {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.video-ready-actions.hidden,
#videoPreview.hidden,
.video-poster-frame.hidden,
.device-save-tip.hidden,
.video-empty-state.hidden {
  display: none;
}

.transcript-result-box {
  min-width: 0;
  min-height: 0;
  margin-top: 0;
}

.transcript-result-box textarea {
  min-height: 218px;
}

.transcript-copy-row {
  display: flex;
  gap: 9px;
  justify-content: flex-end;
  margin-top: 9px;
}

.transcript-copy-row .mini-copy-button {
  flex: 1 1 0;
  min-width: 0;
}

.publish-package-card {
  margin-bottom: 14px;
  border: 1px solid rgba(124, 232, 255, 0.2);
  border-radius: 14px;
  padding: 15px;
  background:
    linear-gradient(135deg, rgba(25, 200, 255, 0.1), rgba(15, 23, 42, 0.94) 48%),
    #0f172a;
}

.publish-package-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 11px;
}

.publish-package-head strong {
  display: block;
  font-size: 15px;
}

.publish-package-head span,
.publish-title-row small,
.publish-topic-row small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.publish-title-row,
.publish-topic-row {
  display: block;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.publish-title-row p,
.publish-topic-row p {
  margin: 5px 0 0;
  color: #f8fbff;
  line-height: 1.65;
}

.publish-title-row p {
  font-size: 16px;
  font-weight: 850;
}

.publish-topic-row p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: #9deeff;
  font-size: 13px;
}

.extract-box,
.guard-box,
.source-copy-box {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(9, 27, 50, 0.88);
  padding: 13px;
  margin-top: 12px;
}

.extract-box strong,
.guard-box strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}

.source-copy-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.source-copy-head strong {
  font-size: 14px;
}

.source-copy-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.source-actions {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.input-action-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 8px 0;
}

.source-copy-box textarea {
  min-height: 126px;
  background: rgba(5, 18, 36, 0.88);
}

.archive-box {
  margin-top: 14px;
  border: 1px solid rgba(116, 202, 255, 0.16);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.48);
  padding: 12px;
}

.output-archive-box {
  margin-top: 18px;
  background: rgba(7, 24, 44, 0.72);
}

.output-archive-box #archiveNewInput {
  min-height: 150px;
}

.archive-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.archive-head strong {
  color: #dff9ff;
  font-size: 15px;
}

.archive-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

#archiveStatus {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.archive-box textarea {
  width: 100%;
  min-height: 120px;
  resize: vertical;
}

#archiveNewInput {
  min-height: 82px;
  margin-bottom: 8px;
}

.archive-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 76px;
  gap: 8px;
  margin-top: 8px;
}

.archive-actions button,
.archive-upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid rgba(25, 200, 255, 0.28);
  border-radius: 7px;
  background: rgba(25, 200, 255, 0.12);
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}

.archive-actions input[type="file"] {
  display: none;
}

.archive-actions button:disabled,
.archive-upload-button.disabled,
.copy-card-button:disabled,
.mini-copy-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  filter: grayscale(0.35);
}

.archive-upload-button.disabled {
  pointer-events: none;
}

.archive-insight {
  margin-top: 9px;
  color: #b7d2df;
  font-size: 12px;
  line-height: 1.55;
}

.guard-box {
  border-color: rgba(25, 200, 255, 0.18);
  background: rgba(7, 28, 52, 0.78);
}

.guard-box strong {
  color: var(--accent-dark);
}

.control-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.advanced-settings {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(9, 27, 50, 0.72);
  padding: 12px;
}

.advanced-settings summary {
  cursor: pointer;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 900;
}

.advanced-settings .control-grid {
  margin-top: 12px;
}

.control-grid label {
  display: grid;
  gap: 7px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 800;
}

select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 10px;
  background: var(--panel-soft);
  color: var(--ink);
}

.primary-button {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #08aeea, #1dd5ff);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.result {
  min-height: 560px;
  max-height: 640px;
  overflow: auto;
  padding-right: 4px;
}

.flow-head {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 18px;
}

.flow-head h2 {
  font-size: 28px;
  margin-bottom: 8px;
}

.flow-head p {
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}

.workflow-steps {
  display: grid;
  gap: 12px;
  position: relative;
}

.feature-nav {
  display: grid;
  gap: 12px;
}

.feature-tab {
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  min-height: 92px;
  border: 1px solid rgba(116, 202, 255, 0.12);
  border-radius: 8px;
  background: rgba(7, 22, 42, 0.6);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  padding: 12px;
}

.feature-tab.active {
  border-color: rgba(25, 200, 255, 0.62);
  background: rgba(25, 200, 255, 0.14);
  box-shadow: inset 0 0 22px rgba(25, 200, 255, 0.1);
}

.feature-tab .step-num {
  grid-row: 1 / span 2;
  font-size: 34px;
  line-height: 1;
}

.feature-tab strong {
  font-size: 18px;
}

.feature-tab em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.5;
}

.workflow-steps::before {
  content: "";
  position: absolute;
  top: 36px;
  bottom: 36px;
  left: 41px;
  width: 2px;
  background: rgba(116, 202, 255, 0.22);
}

.flow-step {
  position: relative;
  display: grid;
  grid-template-columns: 46px 34px 1fr;
  align-items: center;
  gap: 9px;
  min-height: 70px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  z-index: 1;
}

.flow-step.active {
  border-color: rgba(25, 200, 255, 0.55);
  background: rgba(25, 200, 255, 0.14);
  box-shadow: inset 0 0 22px rgba(25, 200, 255, 0.1);
}

.flow-step.completed {
  border-color: rgba(124, 232, 255, 0.28);
  background: rgba(25, 200, 255, 0.08);
}

.step-num {
  font-size: 32px;
  font-weight: 950;
  font-style: italic;
  color: #bff5ff;
  text-align: center;
}

.step-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(116, 202, 255, 0.28);
  border-radius: 50%;
  background: #07172c;
  color: var(--accent-dark);
}

.flow-step strong {
  font-size: 17px;
}

.empty-state {
  display: grid;
  gap: 12px;
  min-height: 480px;
  text-align: left;
}

.empty-state h3 {
  margin: 0 0 6px;
  font-size: 18px;
}

.output-block {
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.output-block:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.output-block h3 {
  margin: 0 0 9px;
  font-size: 16px;
}

.output-block p {
  margin: 0 0 8px;
  line-height: 1.72;
}

.output-block ul,
.output-block ol {
  margin: 0;
  padding-left: 20px;
}

.output-block li {
  margin: 0 0 8px;
  line-height: 1.65;
}

.copy-card {
  border: 1px solid rgba(116, 202, 255, 0.2);
  border-radius: 8px;
  background: rgba(9, 27, 50, 0.88);
  padding: 14px;
  margin-bottom: 12px;
}

.copy-card.recommended {
  border-color: rgba(25, 200, 255, 0.45);
  box-shadow: inset 0 0 26px rgba(25, 200, 255, 0.08);
}

.copy-card.collapsed .package-section:not(.copy-main) {
  display: none;
}

.asset-panel {
  margin-bottom: 10px;
}

.asset-status,
.asset-result {
  margin: 0 0 10px;
  border: 1px solid rgba(25, 200, 255, 0.22);
  border-radius: 8px;
  background: rgba(4, 16, 31, 0.75);
  padding: 11px;
  color: var(--muted);
  font-size: 13px;
}

.asset-result {
  display: grid;
  gap: 9px;
}

.asset-result strong {
  color: var(--accent-dark);
}

.asset-result audio {
  width: 100%;
}

.asset-result a {
  color: #dff9ff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.cover-result img {
  width: min(180px, 100%);
  aspect-ratio: 3 / 4;
  border: 1px solid rgba(116, 202, 255, 0.2);
  border-radius: 8px;
  object-fit: cover;
}

.copy-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.copy-card-actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.copy-card-head strong {
  color: var(--accent-dark);
  font-size: 15px;
}

.mode-panel {
  display: none;
}

.mode-panel.active {
  display: block;
}

.simple-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.simple-grid label {
  display: grid;
  gap: 8px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 900;
}

.simple-grid .full-span {
  grid-column: 1 / -1;
}

.simple-grid input,
.simple-grid select {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  background: #0b1f38;
  background-color: #0b1f38;
}

.simple-grid textarea {
  min-height: 96px;
  padding: 11px 12px;
  line-height: 1.55;
}

.stacked-grid {
  grid-template-columns: 1fr;
}

.industry-picks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.industry-picks button {
  min-height: 32px;
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #dff9ff;
  cursor: pointer;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 900;
}

.industry-picks button.active,
.industry-picks button:hover {
  border-color: rgba(25, 200, 255, 0.65);
  background: rgba(25, 200, 255, 0.2);
}

.option-stack {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.auto-combo-box,
.revision-box {
  margin-top: 12px;
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.7);
  padding: 13px;
}

.auto-combo-box strong {
  display: block;
  margin-bottom: 5px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 950;
}

.auto-combo-box p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.revision-box .field-label {
  margin-bottom: 8px;
  color: var(--accent-dark);
}

.revision-box textarea {
  min-height: 86px;
  background: rgba(5, 18, 36, 0.88);
}

.option-select {
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.7);
  overflow: hidden;
}

.option-select summary {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  cursor: pointer;
  padding: 0 12px;
  list-style: none;
}

.option-select summary::-webkit-details-marker {
  display: none;
}

.option-select summary span {
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 950;
}

.option-select summary strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #eefbff;
  font-size: 13px;
}

.dropdown-chip-grid {
  max-height: 182px;
  overflow: auto;
  padding: 0 12px 12px;
}

.option-block {
  margin-top: 14px;
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(9, 27, 50, 0.92), rgba(6, 18, 34, 0.9));
  padding: 14px;
}

.hint-line {
  margin: 12px 0 8px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 900;
}

.hint-line:first-child {
  margin-top: 0;
}

.chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chip-grid label {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #dff9ff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  user-select: none;
}

.chip-grid label:nth-child(5n + 1) {
  background: rgba(124, 232, 255, 0.17);
}

.chip-grid label:nth-child(5n + 2) {
  background: rgba(255, 220, 146, 0.18);
}

.chip-grid label:nth-child(5n + 3) {
  background: rgba(196, 255, 182, 0.16);
}

.chip-grid label:nth-child(5n + 4) {
  background: rgba(231, 211, 255, 0.18);
}

.chip-grid label:nth-child(5n + 5) {
  background: rgba(255, 199, 218, 0.16);
}

.chip-grid label:has(input:checked) {
  border-color: rgba(25, 200, 255, 0.7);
  background: rgba(25, 200, 255, 0.24);
  box-shadow: inset 0 0 0 1px rgba(25, 200, 255, 0.18), 0 8px 20px rgba(0, 0, 0, 0.12);
}

.chip-grid input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.primary-button {
  margin-top: 14px;
}

.simple-copy-card {
  padding: 0;
  overflow: hidden;
}

.copy-placeholder-card {
  border: 1px dashed rgba(116, 202, 255, 0.28);
  border-radius: 8px;
  background: rgba(9, 27, 50, 0.58);
  padding: 13px 14px;
}

.placeholder-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.placeholder-head strong {
  color: #dff9ff;
  font-size: 14px;
}

.placeholder-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.placeholder-tags {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.placeholder-tags span {
  min-height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(116, 202, 255, 0.16);
  border-radius: 7px;
  background: rgba(5, 18, 36, 0.7);
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 900;
}

.copy-placeholder-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.simple-copy-card .copy-card-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0;
  padding: 13px 14px;
  border-bottom: 1px solid rgba(116, 202, 255, 0.14);
}

.copy-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.copy-card-title span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.combo-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.combo-controls label {
  display: grid;
  gap: 5px;
}

.combo-controls span {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 950;
}

.combo-controls select {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(116, 202, 255, 0.2);
  border-radius: 8px;
  padding: 0 30px 0 10px;
  background:
    linear-gradient(45deg, transparent 50%, rgba(124, 232, 255, 0.9) 50%) calc(100% - 15px) 15px / 6px 6px no-repeat,
    linear-gradient(135deg, rgba(124, 232, 255, 0.9) 50%, transparent 50%) calc(100% - 10px) 15px / 6px 6px no-repeat,
    rgba(5, 18, 36, 0.88);
  color: #eefbff;
  font-size: 12px;
  font-weight: 900;
  appearance: none;
  cursor: pointer;
}

.combo-controls select:focus {
  outline: none;
  border-color: rgba(124, 232, 255, 0.72);
  box-shadow: 0 0 0 2px rgba(25, 200, 255, 0.12);
}

.copy-card-top-actions {
  display: flex;
  justify-content: flex-end;
}

.copy-card-top-actions .copy-card-button {
  min-height: 38px;
  width: min(240px, 100%);
}

.copy-card-top-actions .copy-card-button.primary {
  border-color: rgba(124, 232, 255, 0.45);
  background: linear-gradient(135deg, rgba(14, 141, 186, 0.82), rgba(9, 90, 132, 0.7));
  color: #eaffff;
}

.thinking-panel {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  border: 1px solid rgba(124, 232, 255, 0.16);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.62);
  padding: 12px;
}

.thinking-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(116, 202, 255, 0.12);
}

.thinking-title strong {
  color: #dff9ff;
  font-size: 14px;
}

.thinking-title span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.thinking-panel p {
  margin: 0;
  color: #b7d2df;
  font-size: 12px;
  line-height: 1.55;
}

.thinking-panel b {
  display: inline-flex;
  min-width: 64px;
  color: var(--accent-dark);
  font-weight: 950;
}

.thinking-panel ul {
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 5px;
}

.thinking-panel li {
  color: #b7d2df;
  font-size: 12px;
  line-height: 1.5;
}

.thinking-progress li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
  align-items: start;
  color: #7899aa;
}

.thinking-progress i {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(116, 202, 255, 0.18);
  border-radius: 50%;
  color: #7899aa;
  font-style: normal;
  font-size: 11px;
  font-weight: 950;
}

.thinking-progress li.active {
  color: #dff9ff;
}

.thinking-progress li.active i {
  border-color: rgba(25, 200, 255, 0.72);
  background: rgba(25, 200, 255, 0.18);
  color: var(--accent-dark);
}

.thinking-progress li.done {
  color: #9fc7d7;
}

.thinking-progress li.done i {
  border-color: rgba(124, 232, 255, 0.46);
  color: var(--accent-dark);
}

.copy-card-body {
  padding: 14px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.78;
}

.copy-card-loading {
  border-style: solid;
}

.copy-card-loading select {
  opacity: 0.72;
}

.copy-loading-box {
  display: grid;
  gap: 6px;
  min-height: 132px;
  align-content: center;
  border: 1px solid rgba(124, 232, 255, 0.24);
  border-radius: 8px;
  background: rgba(13, 43, 66, 0.42);
  color: var(--muted);
  text-align: center;
}

.copy-loading-box strong {
  color: var(--ink);
  font-size: 16px;
}

.copy-loading-box span {
  color: var(--accent);
  font-weight: 800;
}

.copy-loading-box p {
  margin: 0;
  color: var(--muted);
}

.copy-card-foot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 14px 14px;
}

.copy-card-foot .copy-card-button {
  min-height: 38px;
}

.team-final-card {
  border: 1px solid rgba(124, 232, 255, 0.32);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(9, 40, 62, 0.88), rgba(7, 22, 42, 0.9));
  box-shadow: inset 0 0 28px rgba(25, 200, 255, 0.08);
  margin-top: 14px;
  overflow: hidden;
}

.team-final-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(116, 202, 255, 0.16);
  padding: 14px;
}

.team-final-head strong {
  display: block;
  color: #dff9ff;
  font-size: 16px;
}

.team-final-head span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.team-roles {
  display: grid;
  gap: 7px;
  margin: 12px 14px 0;
  border: 1px solid rgba(124, 232, 255, 0.14);
  border-radius: 8px;
  background: rgba(5, 18, 36, 0.56);
  padding: 10px;
}

.team-roles p {
  margin: 0;
  color: #b7d2df;
  font-size: 12px;
  line-height: 1.55;
}

.team-roles b {
  display: inline-flex;
  min-width: 86px;
  color: var(--accent-dark);
  font-weight: 950;
}

.team-final-label {
  margin: 13px 14px 0;
  color: #dff9ff;
  font-size: 12px;
  font-weight: 950;
}

.team-final-body {
  padding: 8px 14px 14px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.82;
}

.package-section {
  border-top: 1px solid rgba(116, 202, 255, 0.14);
  padding-top: 11px;
  margin-top: 11px;
}

.package-section:first-child {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

.package-section h4 {
  margin: 0 0 7px;
  color: #bff5ff;
  font-size: 13px;
}

.package-section p {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.75;
}

@media (max-width: 1180px) and (min-width: 821px) {
  .ai-config-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ai-config-panel button {
    grid-column: 1 / -1;
  }

  .workspace-three {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .workspace-two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .workspace-three .persona-work-panel {
    grid-column: 1 / -1;
  }

  .workspace-three .persona-work-panel .simple-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-three .persona-work-panel .archive-box {
    margin-top: 12px;
  }

  .copy-work-panel,
  .output-panel {
    min-width: 0;
  }

  .benchmark-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .benchmark-layout .benchmark-panel:first-child {
    grid-column: 1 / -1;
  }

  .panel {
    min-height: auto;
  }
}

@media (max-width: 820px) {
  .ai-config-panel {
    grid-template-columns: 1fr;
  }

  .workspace,
  .workspace-three,
  .workspace-two,
  .benchmark-layout {
    grid-template-columns: 1fr;
  }

  .panel,
  .workspace-three .panel,
  .benchmark-panel {
    min-height: auto;
  }

  .result {
    min-height: auto;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
}

@media (max-width: 640px) {
  .system-settings-grid,
  .system-admin-search {
    grid-template-columns: 1fr;
  }

  .system-admin-row {
    align-items: stretch;
    flex-direction: column;
  }

  body {
    background:
      radial-gradient(circle at 28% -10%, rgba(25, 200, 255, 0.22), transparent 34%),
      linear-gradient(180deg, rgba(6, 19, 39, 0.98), rgba(3, 12, 28, 1)),
      var(--bg);
  }

  .access-gate {
    align-items: start;
    padding: 18px 12px;
  }

  .access-card {
    padding: 22px 18px;
  }

  .gate-section-title,
  .source-copy-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-actions {
    grid-template-columns: 1fr;
  }

  .request-row {
    grid-template-columns: 1fr;
  }

  .member-controls,
  .request-actions {
    grid-template-columns: 1fr;
  }

  .member-open-row {
    grid-template-columns: 1fr 1fr;
  }

  .request-actions {
    min-width: 0;
  }

  .account-action-row {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .access-admin-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .access-admin-controls {
    grid-template-columns: 1fr 1fr;
  }

  .access-date-preview {
    grid-column: 1 / -1;
    order: -1;
  }

  .app-shell {
    width: 100%;
    padding: 12px 9px 22px;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar-actions {
    width: 100%;
    justify-content: space-between;
  }

  .owner-panel-head,
  .owner-panel-controls {
    grid-template-columns: 1fr;
  }

  .owner-panel-head {
    flex-direction: column;
  }

  h1 {
    font-size: 24px;
  }

  .workflow-strip {
    min-height: 42px;
    margin-bottom: 10px;
    padding: 6px;
  }

  .workflow-strip span {
    min-height: 30px;
    padding: 6px 10px;
    font-size: 12px;
  }

  .page-tab,
  .owner-button,
  .owner-close-button,
  .status-pill {
    min-height: 38px;
    font-size: 13px;
  }

  .panel {
    padding: 13px;
    border-radius: 8px;
  }

  .panel-title {
    gap: 9px;
    margin-bottom: 13px;
  }

  .icon {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }

  h2 {
    font-size: 17px;
  }

  .control-grid,
  .quick-row,
  .simple-grid,
  .benchmark-form-grid,
  .benchmark-actions,
  .input-action-row,
  .combo-controls,
  .placeholder-tags,
  .archive-actions,
  .copy-card-foot {
    grid-template-columns: 1fr;
  }

  .simple-grid .full-span {
    grid-column: auto;
  }

  input,
  select,
  textarea,
  .gate-form input,
  .gate-form textarea,
  .admin-box input,
  .simple-grid input,
  .simple-grid select,
  .ai-config-panel input,
  .ai-config-panel select {
    min-height: 44px;
    font-size: 16px;
  }

  textarea,
  .simple-grid textarea {
    min-height: 112px;
    padding: 11px;
    line-height: 1.55;
  }

  #copySourceInput {
    min-height: 96px;
  }

  #copyDraftInput {
    min-height: 136px;
  }

  #creativeRequestInput,
  #archiveNewInput {
    min-height: 88px;
  }

  .output-archive-box #archiveNewInput {
    min-height: 132px;
  }

  .extract-button,
  .primary-button,
  .copy-card-button,
  .mini-copy-button,
  .archive-actions button,
  .archive-upload-button {
    min-height: 44px;
    font-size: 14px;
  }

  .source-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .copy-card-title,
  .team-final-head,
  .archive-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .simple-copy-card .copy-card-head,
  .copy-card-body,
  .team-final-body {
    padding: 12px;
  }

  .copy-card-body,
  .team-final-body {
    font-size: 15px;
    line-height: 1.78;
  }

  .team-roles {
    margin: 10px 12px 0;
  }

  .team-final-label {
    margin: 12px 12px 0;
  }

  .page-switcher {
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .benchmark-task-actions,
  .benchmark-copy-actions {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  body {
    background: #05070b;
    color: #f8fafc;
  }

  .app-shell {
    width: 100%;
    padding: calc(env(safe-area-inset-top) + 10px) 12px 28px;
  }

  .topbar {
    align-items: center;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 10px;
  }

  .topbar .eyebrow,
  .status-pill,
  .subtle-button {
    display: none;
  }

  .topbar-actions {
    width: auto;
    margin-left: auto;
    gap: 6px;
    justify-content: flex-end;
  }

  h1 {
    font-size: 21px;
    line-height: 1.2;
  }

  .owner-button,
  .owner-close-button {
    min-height: 32px;
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.06);
    color: #d7e3ea;
    font-size: 12px;
    padding: 0 10px;
  }

  .wechat-contact-modal {
    align-items: center;
    padding: 12px;
  }

  .wechat-contact-card {
    width: min(360px, 100%);
    padding: 20px 16px 18px;
  }

  .wechat-contact-card > strong {
    font-size: 20px;
  }

  .workflow-strip {
    display: none;
  }

  .page-switcher {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: #0b1018;
    margin: 8px 0 12px;
    overflow: visible;
    padding: 4px;
  }

  .page-tab {
    min-height: 38px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #8d9aa6;
    font-size: 13px;
  }

  .page-tab.active {
    background: #f8fafc;
    color: #05070b;
    box-shadow: none;
  }

  .workspace,
  .workspace-three,
  .workspace-two {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .profile-panel {
    margin-bottom: 12px;
  }

  .profile-panel .simple-grid {
    grid-template-columns: 1fr;
  }

  .profile-panel .panel-title p {
    display: block;
  }

  .profile-save-status {
    display: none;
  }

  .profile-save-actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 14px -2px -2px;
    padding: 12px 2px 2px;
    background: linear-gradient(180deg, rgba(7, 12, 18, 0), var(--panel) 28%);
    border-top: 0;
  }

  .profile-upload-button,
  #saveProfileBtn {
    min-width: 0;
    width: 100%;
    min-height: 44px;
  }

  .copy-work-panel {
    order: 1;
  }

  .output-panel {
    order: 2;
  }

  .persona-work-panel {
    order: 3;
  }

  .panel,
  .owner-panel {
    border: 0;
    border-radius: 16px;
    background: #0b1018;
    box-shadow: none;
    padding: 14px;
  }

  .panel-title {
    gap: 8px;
    margin-bottom: 12px;
  }

  .icon,
  .panel-title p,
  .archive-head p {
    display: none;
  }

  h2 {
    font-size: 19px;
  }

  .simple-grid label,
  .field-label {
    color: #cbd5e1;
    font-size: 14px;
  }

  input,
  select,
  textarea,
  .gate-form input,
  .gate-form textarea,
  .admin-box input,
  .simple-grid input,
  .simple-grid select,
  .ai-config-panel input,
  .ai-config-panel select {
    border-color: rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: #111827;
    color: #f8fafc;
  }

  .access-card .gate-form input,
  .access-card .admin-box input {
    border-color: rgba(124, 232, 255, 0.14);
    background: rgba(5, 18, 36, 0.66);
    color: #f3fbff;
  }

  .access-card .gate-form input::placeholder,
  .access-card .admin-box input::placeholder {
    color: rgba(214, 235, 245, 0.44);
  }

  .industry-picks,
  .persona-work-panel .archive-box {
    display: none;
  }

  .input-action-row {
    grid-template-columns: 1fr 1fr;
  }

  .extract-button,
  .primary-button {
    min-height: 48px;
    border: 0;
    border-radius: 12px;
    background: #f8fafc;
    color: #05070b;
    box-shadow: none;
  }

  .mini-copy-button,
  .copy-card-button,
  .archive-actions button,
  .archive-upload-button {
    border-radius: 12px;
  }

  .source-copy-box,
  .revision-box,
  .thinking-panel,
  .simple-copy-card,
  .team-final-card,
  .archive-box {
    border-color: rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: #0f172a;
    box-shadow: none;
  }

  .source-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .source-actions span {
    grid-column: 1 / -1;
  }

  .copy-card-controls,
  .team-roles {
    display: none;
  }

  .copy-card-foot {
    grid-template-columns: 1fr;
  }

  .access-card {
    border: 1px solid rgba(124, 232, 255, 0.16);
    border-radius: 18px;
    background: rgba(7, 22, 42, 0.86);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.3);
  }

  .gate-hero {
    border-bottom: 1px solid rgba(124, 232, 255, 0.12);
    margin-bottom: 18px;
    padding-bottom: 18px;
  }

  .access-card h1 {
    font-size: 30px;
  }

  .gate-note {
    margin: 8px auto 0;
    font-size: 14px;
    line-height: 1.55;
  }

  .gate-form button {
    min-height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, #08aeea, #1dd5ff);
    color: #04101f;
  }

  .register-more {
    margin-top: 0;
    padding: 0;
  }
}

@media (max-width: 640px) {
  .combo-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .combo-controls label {
    min-width: 0;
    gap: 4px;
  }

  .combo-controls span {
    overflow: hidden;
    font-size: 11px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .combo-controls select {
    min-width: 0;
    min-height: 42px;
    padding-right: 24px;
    padding-left: 8px;
    background-position:
      calc(100% - 12px) 18px,
      calc(100% - 7px) 18px,
      0 0;
    font-size: 12px;
    text-overflow: ellipsis;
  }

  .media-action-grid,
  .media-result-grid {
    grid-template-columns: 1fr;
  }

  .media-action-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .parse-action-button {
    min-height: 70px;
    padding: 11px 14px;
  }

  .parse-action-button strong {
    font-size: 17px;
  }

  .parse-action-button small {
    max-width: 190px;
    font-size: 11px;
  }

  .media-action-card {
    min-height: 92px;
    padding: 11px;
  }

  .media-action-card strong {
    font-size: 14px;
  }

  .media-action-card small {
    font-size: 11px;
  }

  .video-preview-box,
  .transcript-result-box {
    min-height: auto;
  }

  .video-empty-state {
    min-height: 160px;
  }

  #videoPreview {
    max-height: 520px;
  }

  .video-ready-actions {
    grid-template-columns: 1fr;
  }

  .transcript-result-box .source-actions {
    width: auto;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
  }

  .transcript-result-box .source-copy-head {
    flex-direction: row;
    align-items: flex-start;
  }

  .listen-transcript-button {
    min-height: 32px;
    padding: 6px 11px;
  }

  .transcript-copy-row .mini-copy-button {
    width: 100%;
  }

  .publish-package-card {
    padding: 13px;
  }

  .publish-title-row,
  .publish-topic-row {
    display: block;
  }

  .publish-package-head {
    align-items: stretch;
    flex-direction: column;
  }

  .publish-package-head .copy-card-button {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .viral-discover-shell {
    grid-template-columns: 1fr;
  }

  .viral-filter-panel,
  .viral-feed-panel {
    min-height: auto;
  }

  .viral-platform-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .topbar > div:first-child {
    flex: 1 1 auto;
    min-width: 150px;
  }

  .topbar h1 {
    white-space: nowrap;
  }

  .topbar-actions,
  .topbar-actions .owner-button {
    flex-shrink: 0;
    white-space: nowrap;
  }

  .viral-video-feed {
    display: block;
  }

  .viral-platform-grid {
    grid-template-columns: 1fr;
  }

  .viral-platform-tabs,
  .viral-rank-tabs {
    grid-template-columns: repeat(4, minmax(72px, 1fr));
    overflow-x: auto;
    padding-bottom: 3px;
  }

  .viral-platform-tabs button,
  .viral-rank-tabs button {
    font-size: 12px;
    padding: 0 6px;
  }

  .viral-filter-grid {
    grid-template-columns: 1fr;
  }

  .viral-video-stage {
    aspect-ratio: 9 / 11;
  }
}

/* 顶部三个主入口：文案创作 / 陪跑系统 / 相册资料库 */
body .page-switcher {
  display: inline-grid;
  grid-template-columns: repeat(4, minmax(108px, 1fr));
  gap: 4px;
  width: auto;
  max-width: 100%;
  margin: 10px 0 14px;
  padding: 4px;
  overflow: visible;
  border: 1px solid #ded1c1;
  border-radius: 14px;
  background: #e8dfd3;
}

body .page-switcher .page-tab {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #76695d;
  box-shadow: none;
}

body .page-switcher .page-tab.active {
  background: #fffaf3;
  color: #694720;
  box-shadow: 0 3px 10px rgba(81, 61, 38, .1);
}

#albumPage .coaching-album {
  width: 100%;
  min-height: 620px;
  border-color: #e7ded1;
  background: #fffdf9;
  color: #322b23;
  box-shadow: 0 10px 30px rgba(91, 70, 44, .08);
}

#albumPage .album-page-head {
  padding-bottom: 14px;
  border-bottom: 1px solid #eadfd2;
}

#albumPage .remix-private-album-entry { min-width: 96px; min-height: 40px; padding: 0 15px; border-radius: 11px; white-space: nowrap; }

#albumPage .coaching-album-tabs {
  margin-bottom: 12px;
}

.tutorial-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.tutorial-rail,
.tutorial-main {
  min-height: 620px;
  border-color: #e7ded1;
  background: #fffdf9;
  color: #322b23;
  box-shadow: 0 10px 30px rgba(91, 70, 44, .08);
}

.tutorial-rail {
  position: sticky;
  top: 12px;
  padding: 16px;
}

.tutorial-main {
  padding: 18px;
}

.tutorial-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 9px;
}

.tutorial-upload-row input {
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #ddcdb9;
  border-radius: 9px;
  background: #fffdf9;
  color: #463a30;
}

.tutorial-upload-row .coaching-upload-label {
  min-height: 44px;
  margin: 0;
}

.tutorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.tutorial-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e4d8ca;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(81, 61, 38, .06);
}

.batch-manage-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.batch-delete-button {
  min-height: 36px;
  border: 1px solid #b75648;
  border-radius: 8px;
  padding: 0 12px;
  background: #a84438;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
}

.batch-delete-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.coaching-card-album.is-batch-selected,
.tutorial-card.is-batch-selected {
  outline: 3px solid #8a5b2c;
  outline-offset: -3px;
}

.batch-select-mark {
  position: absolute;
  z-index: 8;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border: 2px solid #fff;
  border-radius: 7px;
  background: rgba(255, 253, 249, .9);
  color: #fff;
  cursor: pointer;
  font-size: 17px;
  font-weight: 900;
  box-shadow: 0 2px 8px rgba(48, 36, 23, .22);
}

.is-batch-selected .batch-select-mark {
  background: #8a5b2c;
}

.coaching-card-album.is-batch-selected .coaching-media > img,
.coaching-card-album.is-batch-selected .coaching-media > video,
.coaching-card-album.is-batch-selected .coaching-album-video-placeholder,
.tutorial-card.is-batch-selected .tutorial-video-launch img {
  opacity: .42;
}

.coaching-card-album .coaching-media > img,
.coaching-card-album .coaching-media > video,
.coaching-album-video-placeholder,
.tutorial-video-launch img {
  transition: opacity .16s ease;
}

.is-batch-selecting {
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.is-batch-selecting img,
.is-batch-selecting video,
.is-batch-selecting .tutorial-video-launch {
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}

.is-batch-selecting .coaching-media-download,
.is-batch-selecting .touch-drag-zone,
.is-batch-selecting input {
  pointer-events: none;
}

.batch-selection-marquee {
  position: fixed;
  z-index: 3000;
  border: 2px solid #8a5b2c;
  border-radius: 5px;
  background: rgba(138, 91, 44, .14);
  pointer-events: none;
}

.coaching-card-album.is-dragging {
  opacity: .5;
  outline: 3px dashed #8a5b2c;
}

.album-order-tools {
  position: absolute;
  z-index: 7;
  right: 7px;
  bottom: 7px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 8px;
  background: rgba(255, 250, 243, .92);
  color: #65451f;
  font-size: 10px;
  font-weight: 800;
}

@media (max-width: 640px) {
  .album-order-tools span {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 0 5px;
    cursor: grab;
    touch-action: none;
  }

  .tutorial-drag-handle {
    pointer-events: auto;
    cursor: grab;
    touch-action: none;
  }
}

.tutorial-card.is-dragging {
  opacity: .48;
  outline: 2px dashed #a56d36;
}

.tutorial-video-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #1f1b18;
  overflow: hidden;
}

.tutorial-video-launch {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: #1f1b18;
  color: #fff;
  cursor: pointer;
  overflow: hidden;
}

.tutorial-video-launch img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tutorial-video-play-label {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(20, 16, 13, .62);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  backdrop-filter: blur(5px);
}

.tutorial-video-fallback {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: rgba(255, 255, 255, .86);
}

.tutorial-drag-handle {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 5px 8px;
  border-radius: 7px;
  background: rgba(255, 250, 243, .92);
  color: #76522d;
  font-size: 11px;
  font-weight: 900;
  pointer-events: none;
}

.tutorial-card-foot {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 8px 10px;
}

.tutorial-move-select {
  width: 100%;
  height: 32px;
  min-height: 32px;
  margin: 0;
  border: 1px solid #d8c5aa;
  border-radius: 8px;
  padding: 0 8px;
  background: #fffaf2;
  color: #241f1a !important;
  -webkit-text-fill-color: #241f1a !important;
  font-size: 12px;
  font-weight: 800;
}

.tutorial-more-menu { position: static; flex: 0 0 auto; margin-left: auto; }
.tutorial-more-menu summary { display: grid; width: 32px; height: 30px; place-items: center; border: 0; border-radius: 15px; background: transparent; color: #241f1a !important; cursor: pointer; font-size: 17px; font-weight: 900; list-style: none; }
.tutorial-more-menu summary::-webkit-details-marker { display: none; }
.tutorial-more-menu[open] summary { background: #f2ebe1; }
.tutorial-more-panel { position: absolute; z-index: 20; left: 50%; right: auto; bottom: 44px; transform: translateX(-50%); display: grid !important; width: 150px; gap: 6px; padding: 8px; border: 1px solid #e3d6c5; border-radius: 12px; background: #fffdf9; box-shadow: 0 10px 28px rgba(54,42,29,.18); }
.tutorial-more-panel button { width: 100%; min-height: 32px; border: 0; border-radius: 8px; background: #f5eee5; color: #241f1a !important; -webkit-text-fill-color: #241f1a !important; font-size: 12px; font-weight: 800; cursor: pointer; }
.tutorial-more-panel button.danger { background: #fff1ee; color: #8f3029 !important; -webkit-text-fill-color: #8f3029 !important; }

.tutorial-card-foot strong {
  display: block;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  color: #241f1a !important;
  font-size: 14px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tutorial-category-menu { position: relative; display: block; margin-top: 8px; }
.tutorial-category-menu summary { padding: 7px 9px; border-radius: 8px; background: #f4ecdf; color: #241f1a !important; cursor: pointer; font-size: 12px; font-weight: 850; list-style: none; text-align: center; }
.tutorial-category-menu summary::-webkit-details-marker { display: none; }
.tutorial-category-menu > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding-top: 7px; }

.tutorial-card-foot > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.tutorial-card-foot button {
  min-height: 30px;
  border: 1px solid #ddcbb5;
  border-radius: 7px;
  background: #fff7ea;
  color: #76522d;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.tutorial-empty {
  grid-column: 1 / -1;
  padding: 90px 20px;
  color: #988a7c;
  text-align: center;
}

@media (max-width: 640px) {
  body .page-switcher {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin: 8px 0 11px;
  }

  body .page-switcher .page-tab {
    min-width: 0;
    min-height: 48px;
    padding: 0 2px;
    font-size: clamp(14px, 3.9vw, 16px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.5px;
    white-space: nowrap;
  }

  #albumPage .coaching-album {
    min-height: 70vh;
    padding: 11px;
  }

  #albumPage .album-page-head p {
    font-size: 12px;
  }

  #albumPage .album-page-head { align-items: flex-start; padding-top: max(0px, env(safe-area-inset-top)); }
  #albumPage .remix-private-album-entry { min-width: 88px; min-height: 38px; padding: 0 11px; }

  .tutorial-shell {
    display: flex;
    flex-direction: column;
    gap: 9px;
  }

  .tutorial-rail,
  .tutorial-main {
    width: 100%;
    min-height: 0;
    padding: 11px;
  }

  .tutorial-rail {
    position: static;
  }

  .tutorial-rail > strong {
    display: none;
  }

  #tutorialColumnList {
    display: flex;
    gap: 6px;
    overflow-x: auto;
  }

  #tutorialColumnList .coaching-column-row {
    flex: 0 0 auto;
  }

  .tutorial-upload-row {
    grid-template-columns: 1fr;
  }

  .tutorial-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* 陪跑体系最终色板：所有管理操作统一暖棕，禁止残留亮蓝 */
#discoverPage .primary-button,
#albumPage .primary-button,
#tutorialPage .primary-button,
#albumPage .coaching-upload-label,
#tutorialPage .coaching-upload-label {
  border-color: #8a5b2c;
  background: #8a5b2c;
  color: #fff;
  box-shadow: none;
}

#discoverPage .primary-button:hover,
#albumPage .primary-button:hover,
#tutorialPage .primary-button:hover {
  background: #76502d;
}

#albumPage .coaching-manager,
#tutorialPage .coaching-manager {
  border-color: #eadac4;
  background: #fbf5eb;
}

/* 三个资料页面统一暖棕交互色，覆盖旧版遗留的蓝色焦点和链接 */
#discoverPage,
#albumPage,
#tutorialPage {
  --page-accent: #8a5b2c;
  --page-accent-dark: #76502d;
  --page-accent-soft: #f3e8d8;
}

#discoverPage a,
#albumPage a,
#tutorialPage a,
#discoverPage button:not(.primary-button),
#albumPage button:not(.primary-button),
#tutorialPage button:not(.primary-button) {
  accent-color: var(--page-accent);
}

#discoverPage input:focus,
#discoverPage textarea:focus,
#discoverPage select:focus,
#albumPage input:focus,
#albumPage textarea:focus,
#albumPage select:focus,
#tutorialPage input:focus,
#tutorialPage textarea:focus,
#tutorialPage select:focus {
  border-color: var(--page-accent);
  outline: 2px solid rgba(138, 91, 44, .16);
  box-shadow: none;
}

#albumPage .coaching-album-tabs button.active,
#tutorialPage .coaching-column-row > button.active,
#discoverPage .coaching-column-row > button.active {
  border-color: var(--page-accent);
  background: var(--page-accent);
  color: #fff;
}

/* 培训和相册管理区禁止继承旧版蓝色按钮，保证浅底上文字清楚 */
#tutorialPage .mini-copy-button,
#albumPage .mini-copy-button,
#tutorialPage .viral-pagination button,
#albumPage .viral-pagination button,
#tutorialPage .coaching-column-manager button,
#albumPage .coaching-column-manager button {
  border-color: #d8c4aa;
  background: #f5eadb;
  color: #674824;
  box-shadow: none;
}

#tutorialPage .mini-copy-button:hover,
#albumPage .mini-copy-button:hover,
#tutorialPage .viral-pagination button:hover:not(:disabled),
#albumPage .viral-pagination button:hover:not(:disabled) {
  border-color: #b88a55;
  background: #ead7bd;
  color: #553718;
}

#tutorialPage .mini-copy-button:disabled,
#albumPage .mini-copy-button:disabled,
#tutorialPage .viral-pagination button:disabled,
#albumPage .viral-pagination button:disabled {
  border-color: #e4d9ca;
  background: #f2ede6;
  color: #a4988a;
  opacity: 1;
}

#tutorialPage input,
#albumPage input {
  border-color: #d8c4aa;
  background: #fffdf9;
  color: #3f3327;
}

#tutorialPage input::placeholder,
#albumPage input::placeholder {
  color: #9a8063;
  opacity: 1;
}

#tutorialPage input:focus,
#albumPage input:focus {
  border-color: #9b6a35;
  outline-color: rgba(138, 91, 44, .22);
  caret-color: #6f4821;
}

#tutorialPage .viral-pagination,
#albumPage .viral-pagination,
#tutorialPage .viral-pagination span,
#albumPage .viral-pagination span {
  color: #5f4a35;
}

/* 品牌定位：替代旧的四步流程，桌面与手机都保持清楚、克制 */
.workflow-strip.brand-positioning {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 8px;
  overflow: visible;
}

.workflow-strip.brand-positioning span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 18px;
  white-space: normal;
  text-align: center;
  line-height: 1.45;
}

.workflow-strip.brand-positioning .brand-positioning-main {
  border-color: #cfa878;
  background: #f1dfc7;
  color: #5e3f20;
}

.workflow-strip.brand-positioning .brand-positioning-sub {
  border-color: #dfcfbb;
  background: #fff9f0;
  color: #765a3b;
}

@media (max-width: 640px) {
  .workflow-strip.brand-positioning {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-bottom: 9px;
  }

  .workflow-strip.brand-positioning span {
    min-height: 36px;
    padding: 7px 10px;
    font-size: 12px;
  }
}

/* 紧凑资料卡：标题直接编辑，排序能力隐藏在右上角触控区 */
.album-order-tools,
.tutorial-drag-handle {
  display: none !important;
}

.touch-drag-zone {
  position: absolute;
  z-index: 8;
  top: 0;
  right: 0;
  width: 48px;
  height: 48px;
  background: transparent;
  cursor: grab;
  touch-action: none;
}

.tutorial-card-foot {
  padding: 7px 8px;
}

.tutorial-title-inline {
  width: 100%;
  height: 34px;
  min-height: 34px;
  border: 1px solid #e2d4c3;
  border-radius: 7px;
  padding: 0 9px;
  background: #fffdf9;
  color: #403326 !important;
  -webkit-text-fill-color: #403326 !important;
  caret-color: #7a4d23 !important;
  font-size: 14px;
  font-weight: 700;
}

.tutorial-title-inline::selection {
  background: #ead7bd;
  color: #3f2e1e;
  -webkit-text-fill-color: #3f2e1e;
}

.tutorial-title-inline:focus {
  border-color: #9b6a35;
  outline: 2px solid rgba(138, 91, 44, .16);
}

.tutorial-card-delete {
  position: absolute;
  z-index: 9;
  top: 7px;
  left: 7px;
  min-height: 28px;
  border: 0;
  border-radius: 7px;
  padding: 0 8px;
  background: rgba(255, 244, 239, .94);
  color: #9d4036;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.coaching-card-album .coaching-delete-button {
  top: 6px;
  right: auto;
  left: 6px;
}

#tutorialPage input::placeholder,
#albumPage input::placeholder,
#tutorialVideoTitleInput,
#tutorialVideoTitleInput::placeholder {
  color: #5f4933 !important;
  -webkit-text-fill-color: #5f4933 !important;
  opacity: 1 !important;
}

@media (max-width: 640px) {
  .touch-drag-zone {
    width: 52px;
    height: 52px;
  }
}

/* 培训页去冗余：不强撑高度、不显示空提示，管理操作只保留一组 */
.tutorial-rail,
.tutorial-main {
  min-height: 0;
}

.tutorial-upload-row {
  grid-template-columns: minmax(170px, 240px);
}

#tutorialManagerStatus:empty {
  display: none;
}

#tutorialPage .danger-text-button {
  border-color: #e1c8c1;
  background: #fff4f0;
  color: #9b4036;
}

/* 学员申请管理：彻底移除旧版深蓝与亮蓝，统一陪跑页暖棕米白体系 */
#ownerPanel.owner-panel {
  border-color: #e2d2bd;
  background: #fbf5eb;
  color: #403326;
  box-shadow: 0 14px 34px rgba(92, 61, 31, .1);
}

#ownerPanel .owner-panel-head {
  border-color: #e4d5c2;
}

#ownerPanel .owner-panel-head strong,
#ownerPanel .request-summary strong,
#ownerPanel .request-title-line strong,
#ownerPanel .request-wechat {
  color: #4b3825 !important;
  -webkit-text-fill-color: #4b3825 !important;
}

#ownerPanel .owner-panel-head p,
#ownerPanel .owner-search-hint,
#ownerPanel .request-row p,
#ownerPanel .request-row span,
#ownerPanel .admin-empty {
  color: #806b54;
  -webkit-text-fill-color: #806b54;
}

#ownerPanel .owner-panel-controls input {
  border-color: #d9c4a8;
  background: #fffdf9;
  background-color: #fffdf9;
  color: #403326;
  -webkit-text-fill-color: #403326;
  caret-color: #7a4d23;
}

#ownerPanel .owner-panel-controls input::placeholder {
  color: #9a8063;
  -webkit-text-fill-color: #9a8063;
  opacity: 1;
}

#ownerPanel .owner-panel-controls input:focus {
  border-color: #9b6a35;
  background: #fffdf9;
  outline: 2px solid rgba(138, 91, 44, .16);
  box-shadow: none;
}

#ownerPanel .owner-panel-controls button,
#ownerPanel .save-member-button,
#ownerPanel .save-coaching-button,
#ownerPanel .approve-button:not(.state-done) {
  border: 1px solid #9f713e;
  background: #8a5b2c;
  color: #fffaf0;
  -webkit-text-fill-color: #fffaf0;
  box-shadow: none;
}

#ownerPanel .request-summary {
  border-color: #e2d2bd;
}

#ownerPanel .request-summary span {
  color: #8a5b2c;
  -webkit-text-fill-color: #8a5b2c;
}

#ownerPanel .request-row {
  border-color: #e2d2bd;
}

#ownerPanel .request-row.search-hit {
  border-color: #a97843;
  background: #fffaf2;
  box-shadow: 0 0 0 2px rgba(138, 91, 44, .12), 0 12px 26px rgba(92, 61, 31, .08);
}

#ownerPanel .request-status {
  border: 1px solid #ddc8aa;
  background: #f3e7d5;
  color: #70502f;
  -webkit-text-fill-color: #70502f;
}

#ownerPanel .request-status.pending {
  border-color: #dfc590;
  background: #fff3d9;
  color: #805e24;
  -webkit-text-fill-color: #805e24;
}

#ownerPanel .request-status.approved,
#ownerPanel .request-status.member {
  border-color: #c9d0b3;
  background: #edf0e3;
  color: #59613f;
  -webkit-text-fill-color: #59613f;
}

#ownerPanel .request-status.disabled,
#ownerPanel .request-status.reset {
  border-color: #e2c1b8;
  background: #fff0ec;
  color: #914f42;
  -webkit-text-fill-color: #914f42;
}

#ownerPanel .access-admin-block {
  border-color: #dfcfba;
  background: #fffdf9;
}

#ownerPanel .access-admin-head strong {
  color: #5d4329;
  -webkit-text-fill-color: #5d4329;
}

#ownerPanel .access-admin-head span,
#ownerPanel .access-date-preview {
  color: #785a3a;
  -webkit-text-fill-color: #785a3a;
}

#ownerPanel .access-admin-controls select {
  border-color: #d8c4aa;
  background: #f7eddf;
  color: #4d3823;
  -webkit-text-fill-color: #4d3823;
  accent-color: #8a5b2c;
}

#ownerPanel .access-admin-controls select:focus {
  border-color: #9b6a35;
  outline: 2px solid rgba(138, 91, 44, .16);
}

#ownerPanel .approve-button.state-done,
#ownerPanel .save-member-button:disabled,
#ownerPanel .save-coaching-button:disabled {
  border: 1px solid #d7c9b8;
  background: #eee6dc;
  color: #8b7b69;
  -webkit-text-fill-color: #8b7b69;
  opacity: 1;
}

#ownerPanel .disable-member-button,
#ownerPanel .stop-coaching-button,
#ownerPanel .reset-password-button,
#ownerPanel .dismiss-reset-button {
  border: 1px solid #dfc3ba;
  background: #fff2ee;
  color: #914f42;
  -webkit-text-fill-color: #914f42;
  box-shadow: none;
}

#ownerPanel .dismiss-reset-button {
  min-height: 42px;
  padding: 0 12px;
  border-color: #d8c9b8;
  background: #fffdf9;
  color: #786653;
  cursor: pointer;
  font-weight: 750;
}

/* 爆款文案库：一条一框、连续下滑，不分页 */
.viral-copy-library-button {
  min-height: 34px;
  border: 1px solid #cba779;
  border-radius: 9px;
  padding: 0 13px;
  background: #f3e5d2;
  color: #674521;
  cursor: pointer;
  font-weight: 850;
}

.viral-copy-library-button:hover {
  border-color: #a97843;
  background: #ead6ba;
}

body.viral-copy-library-open {
  overflow: hidden;
}

.viral-copy-library-panel {
  position: fixed;
  z-index: 2600;
  inset: 0;
  overflow-y: auto;
  background: #f6efe5;
  color: #403326;
}

.viral-copy-library-shell {
  width: min(920px, calc(100% - 28px));
  margin: 0 auto;
  padding: 26px 0 70px;
}

.viral-copy-library-head {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #dfcfba;
  background: rgba(246, 239, 229, .96);
  backdrop-filter: blur(12px);
  padding: 12px 0 18px;
}

.viral-copy-library-head span {
  color: #93683a;
  font-size: 12px;
  font-weight: 850;
}

.viral-copy-library-head h2 {
  margin: 3px 0 4px;
  color: #49341f;
  font-size: 27px;
}

.viral-copy-library-head p {
  margin: 0;
  color: #806b54;
  font-size: 13px;
}

.viral-copy-library-head button {
  min-height: 40px;
  border: 1px solid #b88a55;
  border-radius: 10px;
  padding: 0 14px;
  background: #8a5b2c;
  color: #fffaf0;
  cursor: pointer;
  font-weight: 850;
}

.viral-copy-library-search {
  display: block;
  margin-top: 14px;
}

.viral-copy-library-search > label {
  display: block;
  margin: 0 0 6px 2px;
  color: #806b54;
  font-size: 12px;
  font-weight: 750;
}

.viral-copy-library-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.viral-copy-library-search input {
  min-width: 0;
  width: 100%;
  min-height: 44px;
  border: 1px solid #dfcfba;
  border-radius: 12px;
  outline: none;
  background: #fffaf3;
  padding: 0 14px;
  color: #49341f;
  -webkit-text-fill-color: #49341f;
  caret-color: #8a5b2c;
  font: inherit;
}

.viral-copy-library-search input::placeholder {
  color: #74685c;
  -webkit-text-fill-color: #74685c;
  opacity: 1;
}

.viral-copy-library-search input:focus {
  border-color: #b88a55;
  box-shadow: 0 0 0 3px rgba(138, 91, 44, .1);
}

.viral-copy-library-search button {
  min-height: 44px;
  border: 0;
  border-radius: 12px;
  background: #8a5b2c;
  color: #fffaf0;
  padding: 0 18px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.viral-copy-library-list {
  display: grid;
  gap: 10px;
  padding-top: 14px;
}
.viral-copy-library-scroll-rail { position: fixed; z-index: 6; top: 92px; right: 2px; bottom: 24px; display: none; width: 12px; padding: 0; background: transparent; box-shadow: none; }
.viral-copy-library-scroll-rail.is-visible { display: block; }
.viral-copy-library-scroll-rail span { display: none; }
.viral-copy-library-scroll-rail input { width: 12px; height: 100%; min-height: 120px; margin: 0; padding: 0; border: 0; border-radius: 0; direction: ltr; writing-mode: vertical-lr; cursor: ns-resize; appearance: none; -webkit-appearance: none; background: linear-gradient(to right, transparent 5px, rgba(91,68,45,.2) 5px, rgba(91,68,45,.2) 7px, transparent 7px); }
.viral-copy-library-scroll-rail input::-webkit-slider-thumb { width: 8px; height: 34px; border: 0; border-radius: 4px; background: rgba(104,76,48,.5); box-shadow: none; appearance: none; -webkit-appearance: none; }
.viral-copy-library-scroll-rail input::-moz-range-track { width: 2px; border: 0; background: rgba(91,68,45,.2); }
.viral-copy-library-scroll-rail input::-moz-range-thumb { width: 8px; height: 34px; border: 0; border-radius: 4px; background: rgba(104,76,48,.5); }

.viral-copy-library-admin {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #dfcfba;
  border-radius: 11px;
  margin-top: 14px;
  background: #fffaf3;
  padding: 10px 12px;
}

.viral-copy-library-admin.is-dragging {
  border-color: #9f713e;
  background: #f2e2cc;
  box-shadow: inset 0 0 0 2px rgba(138, 91, 44, .14);
}

.viral-copy-library-admin label {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border-radius: 9px;
  background: #8a5b2c;
  color: #fffaf0;
  padding: 0 14px;
  cursor: pointer;
  font-weight: 850;
}

.viral-copy-library-admin span {
  color: #806b54;
  font-size: 12px;
  font-weight: 750;
}

.viral-copy-library-reorganize {
  min-height: 38px;
  border: 1px solid #cdb18d;
  border-radius: 9px;
  background: #f5eadb;
  color: #674521;
  padding: 0 12px;
  cursor: pointer;
  font-weight: 800;
}

.viral-copy-library-card {
  border: 1px solid #e0d1be;
  border-radius: 12px;
  background: #fffdf9;
  padding: 15px 16px 12px;
  box-shadow: 0 5px 14px rgba(92, 61, 31, .045);
}

.viral-copy-library-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.viral-copy-library-card-head strong {
  color: #4d3823;
  font-size: 15px;
}

.viral-copy-library-card-head span {
  border-radius: 999px;
  background: #f1e4d3;
  color: #77542f;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 800;
}

.viral-copy-library-card > p {
  margin: 0;
  color: #574839;
  font-size: 14px;
  line-height: 1.75;
  white-space: pre-wrap;
}

.viral-copy-library-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  margin-top: 11px;
}

.viral-copy-library-actions button {
  min-height: 34px;
  border: 1px solid #d2b895;
  border-radius: 8px;
  padding: 0 13px;
  background: #f4e9d9;
  color: #674521;
  cursor: pointer;
  font-weight: 850;
}

.viral-copy-library-actions button:first-child {
  border-color: #9f713e;
  background: #8a5b2c;
  color: #fffaf0;
}

.viral-copy-library-actions .viral-copy-library-delete {
  border-color: #dfc3ba;
  background: #fff2ee;
  color: #914f42;
}

.viral-copy-library-empty {
  margin: 0;
  border: 1px dashed #d8c4aa;
  border-radius: 12px;
  background: #fffaf3;
  color: #806b54;
  padding: 34px 18px;
  text-align: center;
}

.viral-copy-library-empty strong {
  display: block;
  margin-bottom: 5px;
  color: #5d4329;
}

.viral-copy-library-empty p {
  margin: 0;
}

@media (max-width: 640px) {
  .viral-copy-library-shell {
    width: calc(100% - 18px);
    padding-top: 8px;
  }

  .viral-copy-library-head {
    align-items: flex-start;
    padding: 10px 0 12px;
  }

  .viral-copy-library-head h2 {
    font-size: 22px;
  }

  .viral-copy-library-head p {
    display: none;
  }

  .viral-copy-library-head button {
    min-height: 36px;
    padding: 0 10px;
    font-size: 12px;
  }

  .viral-copy-library-search {
    margin-top: 10px;
  }

  .viral-copy-library-search input {
    min-height: 42px;
  }

  .viral-copy-library-search button {
    min-width: 70px;
    min-height: 42px;
    padding: 0 12px;
  }

  .viral-copy-library-card {
    padding: 13px 12px 10px;
  }

  .viral-copy-library-admin {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* 全站最终暖色覆盖：清除旧版深蓝、亮蓝和低对比度浅蓝字 */
:root {
  color-scheme: light;
  --bg: #eee7dd;
  --ink: #3f3028;
  --muted: #806f63;
  --line: #e2d1be;
  --panel: #fffaf4;
  --panel-soft: #f8efe4;
  --accent: #9a6634;
  --accent-dark: #76502d;
  --blue: #9a6634;
}

body {
  background: #eee7dd;
  color: #3f3028;
}

.access-gate {
  background: linear-gradient(180deg, #f2ece3 0%, #e9dfd2 100%);
}

.access-card {
  border-color: #d8c2a8;
  background: #fffaf3;
  color: #3f3028;
  box-shadow: 0 22px 55px rgba(84, 57, 32, .14);
}

.gate-hero,
.forgot-box {
  border-color: #e2d1be;
}

.access-card .eyebrow,
.access-card h1,
.gate-section-title strong,
.register-more summary,
.forgot-box summary,
#registerStatus,
#loginStatus,
.admin-empty,
.compliance-details summary {
  color: #674521;
}

.gate-note,
.gate-section-title span,
.admin-hint,
.login-help,
#forgotStatus,
.request-reset-note {
  color: #806f63;
}

.access-card input,
.access-card textarea,
.access-card select,
.gate-form input,
.gate-form textarea,
.admin-box input,
.simple-grid input,
.simple-grid select {
  border-color: #d9c5ad;
  background: #fffdf9;
  background-color: #fffdf9;
  color: #403326;
  -webkit-text-fill-color: #403326;
  caret-color: #8a5b2c;
}

.access-card input::placeholder,
.access-card textarea::placeholder,
.gate-form input::placeholder,
.gate-form textarea::placeholder,
.admin-box input::placeholder {
  color: #a39280;
  -webkit-text-fill-color: #a39280;
}

.access-card input:focus,
.access-card textarea:focus,
.gate-form input:focus,
.admin-box input:focus {
  border-color: #a97843;
  background: #fffdf9;
  box-shadow: 0 0 0 3px rgba(169, 120, 67, .14);
}

.access-card input:-webkit-autofill,
.access-card textarea:-webkit-autofill,
.access-card select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fffdf9 inset;
  -webkit-text-fill-color: #403326;
  caret-color: #8a5b2c;
}

.gate-form button,
.admin-box button,
.approve-button,
.save-member-button,
.disable-member-button,
.reset-password-button {
  border: 1px solid #9f713e;
  background: #8a5b2c;
  color: #fffaf0;
}

.gate-form button.register-pending,
.gate-form button.register-submitting {
  border-color: #9f713e;
  background: #8a5b2c;
  color: #fffaf0;
}

.compliance-details {
  border-color: #dfcfba;
  background: #f8efe4;
  color: #806f63;
}

.request-row.search-hit {
  border-color: #b4824f;
  box-shadow: 0 0 0 2px rgba(180, 130, 79, .13);
}

.owner-advanced-box > summary {
  color: #76502d;
}

.system-settings-panel .owner-panel-controls input,
.system-settings-panel .owner-panel-controls select,
.system-settings-panel .ai-config-panel input,
.system-settings-panel .ai-config-panel select {
  border-color: #ddc9b7;
  background: #fffdf9;
  background-color: #fffdf9;
  color: #403326;
  -webkit-text-fill-color: #403326;
  caret-color: #8a5b2c;
}

.system-settings-panel .owner-panel-controls input::placeholder,
.system-settings-panel .ai-config-panel input::placeholder {
  color: #a39280;
  -webkit-text-fill-color: #a39280;
}

.system-settings-panel .owner-panel-controls button,
.system-settings-panel .ai-config-panel button {
  background: #8a5b2c;
  color: #fffaf0;
}

.system-settings-panel .ai-config-panel {
  border-color: #ead9c8;
}

.system-settings-panel .ai-config-panel strong,
.system-settings-panel #aiConfigStatus {
  color: #674521;
}

.system-settings-panel .ai-config-panel p {
  color: #806f63;
}

.system-settings-panel input,
.system-settings-panel textarea,
.system-settings-panel select,
.system-settings-panel input:-webkit-autofill,
.system-settings-panel textarea:-webkit-autofill,
.system-settings-panel select:-webkit-autofill {
  border-color: #ddc9b7;
  background: #fffdf9;
  background-color: #fffdf9;
  color: #403326 !important;
  -webkit-text-fill-color: #403326 !important;
  caret-color: #8a5b2c;
  -webkit-box-shadow: 0 0 0 1000px #fffdf9 inset;
}

.system-settings-panel input::placeholder,
.system-settings-panel textarea::placeholder {
  color: #a39280 !important;
  -webkit-text-fill-color: #a39280 !important;
  opacity: 1;
}

#copyPage .publish-package-card {
  border-color: #e3d7c9;
  background: #fffdf9;
  color: #3f3028;
}

#copyPage .publish-title-row,
#copyPage .publish-topic-row {
  border-color: #eadfd2;
}

#copyPage .publish-package-head span,
#copyPage .publish-title-row small,
#copyPage .publish-topic-row small,
#copyPage #extractStatus,
#copyPage .source-actions span {
  color: #806f63;
}

#copyPage .publish-title-row p {
  color: #49341f;
}

#copyPage .publish-topic-row p {
  color: #8a5b2c;
}

#copyPage .field-label,
#copyPage .source-copy-head span,
#copyPage .video-preview-head span {
  color: #674521;
}

#copyPage .video-empty-icon {
  background: rgba(154, 102, 52, .22);
  color: #d2a46f;
}

#copyPage .source-clear-button {
  border-color: #d8c5aa;
  background: #fff7ea;
  color: #76522d;
}

.contact-top-button,
body:not(.coaching-page-open) .contact-top-button,
.coaching-page-open .contact-top-button,
.contact-fangge-button {
  border-color: #d2b58f;
  background: #f6ead9;
  color: #76522d;
}

/* 登录页管理员入口与系统设置关闭按钮：统一暖白咖棕主题 */
.access-card .admin-box.admin-corner[open] {
  border-color: #d9c2a4;
  background: #fffaf3;
  box-shadow: 0 16px 36px rgba(84, 57, 32, .16);
}

.access-card .admin-box summary {
  color: #5f3f20;
}

.access-card .admin-corner:not([open]) summary {
  color: #7a6957;
}

.access-card .student-entry-box {
  border-color: #dfcbb2;
  background: #f7eddf;
}

.access-card .student-entry-box strong {
  color: #5f3f20;
}

.access-card .student-entry-box img {
  border: 1px solid #eadbca;
  background: #fffdf9;
}

.access-card .student-entry-link {
  border: 1px solid #d8b98f;
  background: #fff8ed;
  color: #7a4d23;
}

.access-card .student-entry-link:hover {
  background: #f2e2cc;
}

.access-card .student-entry-box p {
  color: #7a6957;
}

.owner-close-button,
body:not(.coaching-page-open) .owner-close-button,
.coaching-page-open .owner-close-button {
  border-color: #d8b98f;
  background: #fff8ed;
  color: #7a4d23;
}

.owner-close-button:hover,
body:not(.coaching-page-open) .owner-close-button:hover,
.coaching-page-open .owner-close-button:hover {
  border-color: #c89c67;
  background: #f2e2cc;
  color: #68401d;
}

/* 陪跑视频封面懒加载：未点击前不请求视频，加载时不黑屏 */
.coaching-video-launch,
.coaching-inline-player {
  position: relative;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  overflow: hidden;
  background: #2a241e;
}

.coaching-video-launch {
  display: block;
  cursor: pointer;
}

.coaching-video-launch > img,
.coaching-player-cover > img,
.coaching-inline-player > video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #2a241e;
}

.coaching-video-play-mark,
.coaching-player-cover span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-width: 112px;
  border: 1px solid rgba(255, 250, 240, .72);
  border-radius: 999px;
  background: rgba(73, 52, 31, .82);
  color: #fffaf0;
  padding: 10px 14px;
  text-align: center;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 5px 18px rgba(0, 0, 0, .18);
}

.coaching-video-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #d9c7b3;
  font-weight: 800;
}

.coaching-player-cover {
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background: #2a241e;
  transition: opacity .16s ease;
}

.coaching-inline-player.is-loading .coaching-player-cover {
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 640px) {
  .beauty-industry-current { display: none !important; }
  .beauty-industry-switch { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body .page-switcher { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body .page-switcher .page-tab { min-width: 0; min-height: 42px; padding: 0 2px; font-size: 12px; white-space: nowrap; }
  #coachingColumnList .coaching-column-row { display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 2px; }
  #coachingColumnList .coaching-column-more > summary { width: 28px; min-height: 42px; }
  .coaching-series-switch { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .coaching-series-switch button { min-height: 42px; padding: 0 2px; font-size: 11px; }
  .coaching-rail.student-compact { padding: 8px; }
  #coachingColumnList.student-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; padding: 0; }
  #coachingColumnList.student-columns .coaching-column-row { display: block; min-width: 0; }
  #coachingColumnList.student-columns .coaching-column-row > button { display: grid; width: 100%; height: 48px; min-height: 48px; max-height: 48px; place-items: center; padding: 4px 3px; overflow: hidden; font-size: 12px; line-height: 1.15; text-align: center; }
  .coaching-rail.student-compact .coaching-series-switch { gap: 5px; margin-top: 6px; }
  .coaching-rail.student-compact .coaching-series-switch button { min-height: 40px; height: 40px; padding: 0 2px; font-size: 11px; }
  .coaching-album-preview { padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)); }
  .coaching-album-preview-inner { width: 100%; height: 100%; max-height: none; }
  .coaching-album-preview img, .coaching-album-preview video { max-width: 100%; max-height: calc(100dvh - 72px); }
  .coaching-album-preview-close { top: max(5px, env(safe-area-inset-top)); right: 6px; }
  .coaching-album-preview-count { top: max(8px, env(safe-area-inset-top)); }
  .coaching-album-preview-actions { right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); }
  .coaching-album-preview-actions a, .coaching-album-preview-actions button { min-height: 36px; padding: 8px 12px; font-size: 12px; }
}
/* 超级IP：沿用正式版暖白暖棕，不使用独立黑灰皮肤 */
.super-ip-page{max-width:1120px;margin:0 auto;padding:24px 0 110px;color:#322b23}
.super-ip-head{position:relative;text-align:center;margin:8px 0 22px;padding:4px 72px}.super-ip-head h2{font-size:32px;letter-spacing:.16em;margin:0 0 8px;color:#322b23}.super-ip-head p{margin:0;color:#85796c;font-size:14px}.super-ip-head>button{position:absolute;right:0;top:8px;border:1px solid #e1d5c6;background:#fffdf9;color:#5c4b3b;border-radius:12px;padding:9px 12px}
.super-ip-platforms{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto}.super-ip-platforms button{white-space:nowrap;border:1px solid #e1d5c6;background:#fffdf9;color:#6d6257;border-radius:999px;padding:10px 16px}.super-ip-platforms button.active{background:#8a5b2c;color:#fff;border-color:#8a5b2c}.super-ip-platforms small{margin-left:5px;opacity:.65}
.super-ip-search-card{display:grid;grid-template-columns:1fr 132px;gap:10px;background:#fffdf9;border:1px solid #e1d5c6;border-radius:20px;padding:16px;box-shadow:0 12px 32px rgba(75,55,35,.06)}.super-ip-search-card input{width:100%;box-sizing:border-box;border:1px solid #d8c9b8;background:#fff;border-radius:14px;padding:15px;color:#322b23!important;-webkit-text-fill-color:#322b23!important;caret-color:#8a5b2c;font-size:16px}.super-ip-search-card input::placeholder{color:#8f8275!important;-webkit-text-fill-color:#8f8275!important;opacity:1}.super-ip-rank-row{display:flex;gap:8px;overflow-x:auto;margin:16px 0 12px}.super-ip-rank-row button{white-space:nowrap;border:0;background:#f1ebe3;color:#6b5c4d;border-radius:10px;padding:9px 12px}.super-ip-rank-row button.active{background:#ded0bf;color:#5d3b1e}.super-ip-collect{border:0;border-radius:14px;background:#8a5b2c;color:#fff;padding:14px;font-size:16px;font-weight:700}.super-ip-collect:disabled{opacity:.45}.super-ip-search-card>p{grid-column:1/-1;margin:0;color:#85796c;font-size:13px;text-align:center}
.super-ip-source{margin:18px 2px 10px;color:#5e5145;font-weight:700}.super-ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.super-ip-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fffdf9;border:1px solid #e1d5c6;border-radius:18px;overflow:hidden}.super-ip-card.selected{border-color:#8a5b2c;box-shadow:0 0 0 2px rgba(138,91,44,.12)}.super-ip-check{position:absolute;z-index:2;right:9px;top:9px;width:30px;height:30px;border-radius:50%;border:1px solid #d6c6b3;background:rgba(255,253,249,.95);color:#8a5b2c;font-weight:800}.super-ip-card.selected .super-ip-check{background:#8a5b2c;color:#fff}.super-ip-media{position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#eee5d9,#d8c7b4);aspect-ratio:4/5;min-height:0;overflow:hidden}.super-ip-media-placeholder{color:#7a6755;font-size:12px;letter-spacing:.12em;transform:translateY(38px)}.super-ip-media img,.super-ip-media video{z-index:1;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.super-ip-media>button{z-index:2;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;border-radius:50%;width:44px;height:44px;background:rgba(255,253,249,.9);color:#6b4424}.super-ip-card-body{display:flex;flex-direction:column;flex:1;padding:14px;min-width:0}.super-ip-card-body h3{font-size:15px;line-height:1.45;margin:0 34px 9px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.super-ip-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:9px 0;border-top:1px solid #eee4d8;border-bottom:1px solid #eee4d8}.super-ip-metrics span{display:flex;flex-direction:column;min-width:0}.super-ip-metrics small{color:#958779;font-size:10px}.super-ip-metrics strong{overflow:hidden;color:#5d5146;font-size:12px;font-weight:600;text-overflow:ellipsis}.super-ip-transcript{max-height:112px;overflow:auto;margin-top:10px;white-space:pre-wrap;line-height:1.65;font-size:13px;color:#5b5046}.super-ip-transcript.empty{color:#a09284}.super-ip-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto;padding-top:10px}.super-ip-card-actions button{min-width:0;border:1px solid #d8c9b8;border-radius:10px;padding:8px 5px;font-size:12px}.super-ip-rewrite{background:#8a5b2c;color:#fffaf5}.super-ip-copy{background:#f4eee7;color:#684725}.super-ip-card-actions button.copied{background:#e4d8ca;color:#4d3826}.super-ip-fullscreen-player .coaching-fullscreen-copy-sheet{box-sizing:border-box;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}.super-ip-fullscreen-player .coaching-fullscreen-copy-actions{position:relative;z-index:2;min-height:47px;background:#fffdf9}.super-ip-fullscreen-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:2px 0 12px;padding:10px 0;border-bottom:1px solid rgba(138,91,44,.18)}.super-ip-fullscreen-metrics span{display:flex;flex-direction:column}.super-ip-fullscreen-metrics small{font-size:11px;color:#918274}.super-ip-fullscreen-metrics strong{font-size:13px;color:#4e4237}
.super-ip-selection{position:fixed;z-index:20;left:50%;bottom:18px;transform:translateX(-50%);width:min(520px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 18px;border:1px solid #d8c9b8;border-radius:18px;background:rgba(255,253,249,.96);box-shadow:0 16px 42px rgba(56,42,28,.2);backdrop-filter:blur(16px)}.super-ip-selection button{border:0;border-radius:12px;background:#8a5b2c;color:#fff;padding:12px 18px;font-weight:700}.super-ip-selection button:disabled{opacity:.4}
@media(max-width:700px){.page-switcher{display:flex;gap:3px;overflow-x:auto;padding:4px}.page-switcher .page-tab{flex:1 0 auto;min-width:68px;font-size:11px;padding:9px 5px}.super-ip-page{padding:12px 0 100px}.super-ip-head{padding:2px 0 0;margin-bottom:16px}.super-ip-head h2{font-size:25px}.super-ip-head p{font-size:13px}.super-ip-head>button{position:static;margin-top:10px;padding:7px 10px;font-size:12px}.super-ip-search-card{grid-template-columns:minmax(0,1fr) 92px;padding:12px;border-radius:17px}.super-ip-search-card input{min-width:0;font-size:15px;padding:13px 11px}.super-ip-collect{padding:12px 8px;font-size:14px}.super-ip-source{font-size:15px}.super-ip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.super-ip-card{min-height:0;border-radius:15px}.super-ip-media{aspect-ratio:3/4}.super-ip-check{width:27px;height:27px;right:7px;top:7px}.super-ip-card-body{padding:10px 9px}.super-ip-card-body h3{font-size:13px;margin-right:0;-webkit-line-clamp:2}.super-ip-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px}.super-ip-metrics span:last-child{grid-column:1/-1}.super-ip-metrics small{font-size:9px}.super-ip-metrics strong{font-size:11px}.super-ip-transcript{max-height:82px;font-size:11px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.super-ip-card-actions{gap:5px}.super-ip-card-actions button{padding:7px 2px;font-size:11px}.super-ip-selection{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 18px);box-sizing:border-box}.super-ip-selection button{padding:11px 13px}.super-ip-fullscreen-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
.super-ip-selection.hidden{display:none}
@media(max-width:700px){
  .topbar{flex-wrap:wrap!important;gap:8px!important}
  .topbar>div:first-child{min-width:0!important;flex:1 1 100%!important}
  .topbar-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:100%!important;max-width:100%;gap:5px!important;margin:0!important}
  .topbar-actions .owner-button,.topbar-actions .status-pill{display:inline-flex!important;width:100%;min-width:0!important;padding:0 5px!important;justify-content:center;font-size:11px!important;white-space:nowrap;overflow:hidden}
}
.super-ip-check,.super-ip-selection{display:none!important}.super-ip-card-body{padding:7px 8px 8px}.super-ip-card-body h3{display:none}.super-ip-metrics{display:flex!important;grid-template-columns:none!important;gap:7px;overflow-x:auto;white-space:nowrap;padding:5px 0;border-top:0}.super-ip-metrics span{display:inline-flex!important;flex-direction:row!important;gap:3px;flex:0 0 auto}.super-ip-metrics span:last-child{grid-column:auto!important}.super-ip-metrics small{font-size:8px}.super-ip-metrics strong{font-size:10px}.super-ip-transcript{max-height:52px;margin-top:4px;padding-top:5px;-webkit-line-clamp:3;border-top:1px solid #eee4d8}.super-ip-card-actions{padding-top:7px}
.super-ip-card-body h3{display:-webkit-box!important}
.super-ip-head{padding-left:0;padding-right:0}
.super-ip-fullscreen-player .coaching-fullscreen-copy-sheet{grid-template-rows:auto minmax(0,1fr) auto}
.super-ip-fullscreen-metrics{display:none!important}
.super-ip-head h2{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(40px,6vw,54px)!important;font-weight:950;line-height:1;letter-spacing:.24em!important;text-indent:.24em;color:#28221c!important}
.super-ip-head h2::after{content:"";display:block;width:42px;height:2px;margin:13px auto 0;border-radius:999px;background:#9a692f}
.super-ip-metrics:empty{display:none!important}
@media(max-width:700px){.super-ip-metrics{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important;white-space:normal!important}.super-ip-metrics span{display:flex!important;flex-direction:column!important;align-items:center;gap:1px!important;text-align:center}.super-ip-metrics small{font-size:8px!important}.super-ip-metrics strong{width:100%;font-size:10px!important;text-align:center;text-overflow:ellipsis}}

/* 20260805：所有文案统一送入自动剪辑，手机优先放大文案编辑区 */
body .page-switcher {
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-portal-page {
  min-height: calc(100dvh - 220px);
}

.feature-portal-page iframe {
  display: block;
  width: 100%;
  min-height: calc(100dvh - 220px);
  border: 0;
  background: #eee8df;
}

.feature-portal-page iframe[hidden] {
  display: none !important;
}

/* 客户档案和广告投流是独立工作台：进入后只保留模块自己的返回和标题。 */
body.feature-portal-focus .app-shell {
  width: 100%;
  margin: 0;
  padding: 0;
}

body.feature-portal-focus .app-shell > .topbar,
body.feature-portal-focus .app-shell > .owner-panel,
body.feature-portal-focus .app-shell > .beauty-industry-bar,
body.feature-portal-focus .app-shell > .page-switcher,
body.feature-portal-focus .icp-footer,
body.feature-portal-focus .back-to-top-button {
  display: none !important;
}

body.feature-portal-focus .feature-portal-page,
body.feature-portal-focus .feature-portal-page iframe {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
}

.feature-upgrade-lock {
  position: relative;
  min-height: calc(100dvh - 220px);
  display: grid;
  place-content: center;
  gap: 9px;
  padding: 28px;
  color: #493624;
  text-align: center;
}

.feature-upgrade-lock.hidden {
  display: none;
}

.feature-upgrade-lock strong {
  font-size: 24px;
}

.feature-upgrade-lock p {
  max-width: 420px;
  margin: 0 auto;
  color: #85796c;
  line-height: 1.7;
}

.feature-upgrade-back {
  position: absolute;
  top: 18px;
  left: 18px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #ddcfbf;
  border-radius: 50%;
  background: rgba(255, 253, 249, .94);
  color: #684725;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

#copyPage .media-result-grid {
  align-items: stretch;
  grid-template-columns: 1fr;
}

#copyPage .transcript-result-box {
  display: flex;
  flex-direction: column;
}

#copyPage .transcript-result-box > #copyDraftInput {
  min-height: 330px;
  font-size: 16px;
  line-height: 1.75;
  transition: min-height .22s ease;
}

#copyPage .transcript-result-box > #copyDraftInput:placeholder-shown {
  min-height: 132px;
}

#copyPage .transcript-revision-box {
  margin-top: 10px;
  padding: 10px;
  border-color: #e1d5c6;
  background: #faf5ee;
}

#copyPage .creative-request-title {
  display: block;
  margin: 0 2px 8px;
  color: #35231b;
  font-size: 14px;
  font-weight: 800;
}

#copyPage .transcript-revision-box textarea {
  min-height: 132px;
  background: #fffdf9;
}

#copyPage .transcript-revision-box textarea::placeholder {
  color: #4d4037;
  opacity: 1;
}

#copyPage .source-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

#copyPage .source-actions #extractStatus:empty {
  display: none;
}

#copyPage .compact-proofread-button {
  min-height: 34px;
  padding: 0 10px;
  font-size: 12px;
}

#copyPage .transcript-copy-row,
#copyPage .copy-card-foot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.primary-video-action,
.copy-card-foot .primary-video-action,
.coaching-video-button,
.super-ip-video {
  border-color: #9f713e !important;
  background: #8a5b2c !important;
  color: #fffaf0 !important;
}

.viral-copy-library-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.viral-copy-library-actions button {
  min-width: 0;
  padding: 0 8px;
  white-space: nowrap;
}

.viral-copy-library-actions .viral-copy-library-delete {
  grid-column: 1 / -1;
  min-height: 30px;
}

.coaching-transcript-actions {
  grid-template-columns: minmax(96px, 1.25fr) repeat(3, minmax(0, 1fr));
}

.coaching-transcript-actions.member-actions,
.coaching-fullscreen-copy-actions,
.super-ip-card-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.coaching-transcript-actions .coaching-video-button {
  width: 100%;
  min-height: 34px;
  padding: 0 5px;
  border-radius: 9px;
  font-size: 11px;
  white-space: nowrap;
}

.auto-editing-lock {
  position: relative;
  min-height: calc(100dvh - 220px);
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 28px;
  color: #493624;
  text-align: center;
}

.auto-editing-lock-back {
  position: absolute;
  top: 18px;
  left: 18px;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid #ddcfbf;
  border-radius: 999px;
  background: rgba(255, 253, 249, .9);
  color: #684725;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.auto-editing-lock.hidden {
  display: none;
}

.ai-video-page iframe[hidden] {
  display: none !important;
}

.private-album-gate {
  min-height: min(72vh, 620px);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  padding: 24px;
  color: #684725;
  text-align: center;
}

.private-album-gate.hidden { display: none; }
.private-album-gate strong { font-size: 18px; }
.private-album-gate p { margin: 0; color: #85796c; font-size: 14px; }
.private-album-gate-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #e2d7ca;
  border-top-color: #9a692f;
  border-radius: 50%;
  animation: private-album-gate-spin .8s linear infinite;
}
.private-album-gate.is-error .private-album-gate-spinner { display: none; }
.private-album-gate-actions { display: flex; gap: 8px; margin-top: 6px; }
.private-album-gate-actions.hidden { display: none; }
@keyframes private-album-gate-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .private-album-gate-spinner { animation: none; } }

.page-tab:focus-visible {
  outline: 2px solid #9a692f;
  outline-offset: 1px;
}

.auto-editing-lock strong {
  font-size: 22px;
}

.auto-editing-lock p {
  margin: 0;
  color: #85796c;
}

.page-tab.locked {
  color: #8f8275;
}

.icp-footer {
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  text-align: center;
  font-size: 11px;
  color: #94897e;
}

.icp-footer a {
  color: inherit;
  text-decoration: none;
}

@media (max-width: 700px) {
  body .page-switcher {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    overflow: visible;
    scrollbar-width: none;
  }

  body .page-switcher::-webkit-scrollbar {
    display: none;
  }

  body .page-switcher .page-tab {
    min-width: 0;
    min-height: 40px;
    padding: 0 2px;
    font-size: 10.5px;
    white-space: nowrap;
  }

  .topbar-actions .owner-button.hidden {
    display: none !important;
  }

  #copyPage .media-result-grid {
    grid-template-columns: 1fr;
  }

  #copyPage .video-stage,
  #copyPage .video-empty-state {
    min-height: 138px;
  }

  #copyPage .transcript-result-box > #copyDraftInput {
    min-height: 300px;
    font-size: 16px;
  }

  #copyPage .transcript-result-box > #copyDraftInput:placeholder-shown {
    min-height: 112px;
  }

  #copyPage .transcript-copy-row .mini-copy-button,
  #copyPage .copy-card-foot .copy-card-button {
    width: 100%;
    min-height: 42px;
  }

  .viral-copy-library-actions button,
  .super-ip-card-actions button,
  .coaching-fullscreen-copy-actions button {
    font-size: 11px;
  }
}

/* 三端统一：学员账户入口缩到标题右侧，iPad与手机不再单独占一行。 */
@media (max-width: 820px) {
  body.student-account-header .topbar {
    align-items: center !important;
    flex-flow: row nowrap !important;
    gap: 8px !important;
  }

  body.student-account-header .topbar > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body.student-account-header .topbar .eyebrow {
    display: none !important;
  }

  body.student-account-header .topbar h1 {
    font-size: 20px !important;
    white-space: nowrap;
  }

  body.student-account-header .topbar-actions {
    display: flex !important;
    flex: 0 0 auto;
    width: auto !important;
    max-width: 48%;
    margin: 0 0 0 auto !important;
    gap: 5px !important;
  }

  body.student-account-header .topbar-actions .owner-button,
  body.student-account-header .topbar-actions .status-pill {
    width: auto !important;
    min-width: 0 !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 8px !important;
    border-color: #d9cabb;
    border-radius: 14px;
    background: rgba(255, 253, 249, .72);
    color: #684725;
    font-size: 10.5px !important;
    line-height: 1;
    align-items: center;
  }

  body.student-account-header #loginStatusPill {
    min-height: 28px !important;
    gap: 5px;
  }

  body.student-account-header #loginStatusPill .dot {
    width: 6px;
    height: 6px;
  }

  .auto-editing-lock-back {
    top: 12px;
    left: 12px;
  }
}

/* 普通笔记本宽度不再把左侧视频和文案硬挤成两列。 */
@media (min-width: 821px) and (max-width: 1320px) {
  #copyPage .media-result-grid {
    grid-template-columns: 1fr;
  }
}

/* 20260808 培训教程：分类先行，课程按相册式三列展开。 */
#tutorialPage .tutorial-shell {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#tutorialPage .tutorial-rail,
#tutorialPage .tutorial-main {
  position: static;
  width: 100%;
  min-height: 0;
  padding: 12px;
}

#tutorialPage .tutorial-rail > strong {
  display: block;
  margin-bottom: 8px;
  color: #5d4935;
  font-size: 13px;
}

#tutorialColumnList {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  width: 100%;
  overflow: visible !important;
}

#tutorialColumnList .coaching-column-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  gap: 2px;
  min-width: 0;
  width: 100%;
}

#tutorialColumnList .coaching-column-row > button {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 5px 2px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
}

#tutorialColumnList .coaching-column-row > button small {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  opacity: .72;
}

#tutorialColumnList .coaching-column-more > summary {
  width: 24px;
  min-height: 48px;
}

#tutorialPage .tutorial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#tutorialPage .tutorial-card {
  min-width: 0;
  border-radius: 10px;
}

#tutorialPage .tutorial-video-wrap {
  aspect-ratio: 3 / 4;
  border-radius: 9px 9px 0 0;
}

#tutorialPage .tutorial-video-play-label {
  bottom: 7px;
  padding: 3px 7px;
  font-size: 9px;
}

#tutorialPage .tutorial-card-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px;
  min-height: 42px;
  padding: 5px;
}

#tutorialPage .tutorial-card-foot strong {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#tutorialPage .tutorial-title-inline {
  min-width: 0;
  width: 100%;
  height: 34px;
  min-height: 34px;
  padding: 0 6px;
  font-size: 11px;
}

#tutorialPage .tutorial-more-menu {
  align-self: center;
}

@media (max-width: 640px) {
  #tutorialPage .tutorial-rail,
  #tutorialPage .tutorial-main {
    padding: 9px;
  }

  #tutorialPage .tutorial-rail > strong {
    display: block;
  }

  #tutorialColumnList {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible !important;
  }

  #tutorialColumnList .coaching-column-row {
    flex: none;
  }

  #tutorialPage .tutorial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  #tutorialPage .tutorial-card-foot {
    min-height: 38px;
    padding: 4px;
  }

  #tutorialPage .tutorial-title-inline {
    height: 31px;
    min-height: 31px;
    font-size: 10px;
  }
}
/* 2026-08-10 陪跑视频统一为手机双列，保留原全屏播放和文案操作。 */
@media (max-width: 760px) {
  #coachingGrid {
    width: 100%;
    margin: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #coachingGrid .coaching-card {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #e2d7c9;
    border-radius: 12px;
    background: #fffdf9;
    box-shadow: none;
  }

  #coachingGrid .coaching-media,
  #coachingGrid .coaching-pending-media {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 4;
    background: #eee8df;
  }

  #coachingGrid .coaching-media img,
  #coachingGrid .coaching-media video {
    object-fit: cover !important;
  }

  #coachingGrid .coaching-video-play-mark {
    display: grid;
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border-radius: 50%;
    font-size: 0;
  }

  #coachingGrid .coaching-video-play-mark::before {
    content: "▶";
    padding-left: 2px;
    font-size: 15px;
  }

  #coachingGrid .coaching-card-body {
    padding: 7px;
    background: #fffdf9;
  }

  #coachingGrid .coaching-transcript-box:not(.is-expanded) {
    height: 92px;
    padding: 7px 7px 38px;
    border: 0;
    border-radius: 8px;
    background: #fffdf9;
  }

  #coachingGrid .coaching-transcript-box:not(.is-expanded) p {
    padding-right: 0;
    font-size: 11px;
    line-height: 1.45;
    -webkit-line-clamp: 2;
  }

  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-transcript-actions,
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-transcript-actions.member-actions {
    left: 7px;
    right: 7px;
    bottom: 6px;
    display: grid;
    width: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
  }

  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-move-tools {
    display: none;
  }

  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-rewrite-button,
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-video-button,
  #coachingGrid .coaching-transcript-box:not(.is-expanded) .coaching-copy-button {
    width: 100%;
    min-width: 0;
    min-height: 27px;
    height: 27px;
    padding: 0 2px;
    border-radius: 6px;
    overflow: hidden;
    font-size: 9.5px;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #coachingGrid .coaching-card-empty,
  #coachingGrid .coaching-card-pending {
    min-height: 0;
  }
}
