:root {
  --bg: #f5f5f1;
  --panel: #fff;
  --ink: #202b28;
  --muted: #748078;
  --line: #e2e7df;
  --accent: #166850;
  --accent-light: #eaf3ec;
  --orange: #d99059;
  --danger: #a13f37;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: var(--bg);
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #cfb086; outline-offset: 3px; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }
svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: 34px; line-height: 1.2; letter-spacing: -1.35px; font-weight: 650; overflow-wrap: anywhere; }
h1 > span { color: var(--orange); }
h2 { font-size: 19px; line-height: 1.4; letter-spacing: -.4px; font-weight: 600; }
h3 { font-size: 15px; line-height: 1.5; font-weight: 600; }
.muted { color: var(--muted); line-height: 1.65; }
.small { font-size: 12px; line-height: 1.65; }
.full { width: 100%; }
.eyebrow { font-size: 9px; line-height: 1.5; color: var(--accent); font-weight: 700; letter-spacing: 1.6px; }
.app-shell { display: grid; grid-template-columns: 238px minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; }
.sidebar { position: sticky; top: 0; height: 100vh; height: 100dvh; background: var(--panel); border-right: 1px solid var(--line); padding: 34px 22px 26px; display: flex; flex-direction: column; }
.brand { display: inline-flex; align-items: center; align-self: flex-start; font-size: 34px; letter-spacing: -1.8px; font-weight: 750; line-height: 1; }
.brand-dot { color: var(--accent); }
.brand-mark { display: grid; grid-template-columns: 8px 8px; gap: 3px; margin-right: 12px; transform: rotate(-8deg); }
.brand-mark i { height: 8px; border-radius: 2px; background: var(--accent); }
.brand-mark i:last-child { background: var(--orange); }
.team-switch { margin-top: 38px; display: flex; align-items: center; gap: 9px; background: #f7f8f4; border: 1px solid var(--line); border-radius: 9px; padding: 12px 10px; width: 100%; text-align: left; color: var(--ink); }
.team-switch:hover { border-color: #b5c8b7; }
.team-switch-icon { display: grid; place-items: center; width: 28px; height: 30px; flex-shrink: 0; color: var(--accent); font-size: 23px; }
.team-switch-copy { display: grid; gap: 5px; min-width: 0; flex: 1; }
.team-switch-copy > span { color: var(--muted); font-size: 9px; }
.team-switch-copy strong { font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.team-switch svg { width: 15px; height: 15px; color: var(--muted); }
.app-navigation { display: grid; gap: 6px; margin-top: 29px; }
.sidebar-label { font-size: 8px; letter-spacing: 1.15px; color: #8b958d; margin: 0 9px 10px; }
.nav-item { width: 100%; padding: 13px 12px; border: 1px solid transparent; background: transparent; border-radius: 8px; font-size: 12px; font-weight: 500; color: #68766c; display: flex; align-items: center; text-align: left; gap: 12px; }
.nav-item svg { width: 19px; height: 19px; }
.nav-item:hover:enabled { color: var(--accent); background: #f5f8f1; }
.nav-item[aria-current="page"], .nav-item[aria-current="true"], .nav-item.active { color: var(--accent); background: var(--accent-light); font-weight: 650; }
.nav-item[aria-current="page"]::after, .nav-item[aria-current="true"]::after, .nav-item.active::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); margin-left: auto; }
.sidebar-bottom { margin-top: auto; padding: 20px 1px 0; color: #667569; font-size: 10px; line-height: 1.8; }
.small-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--accent); margin-right: 5px; }
.sidebar-bottom > span:last-child { display: block; padding-left: 14px; font-size: 8px; color: #98a196; }
main { min-width: 0; width: 100%; padding: 0 46px; max-width: 1530px; }
.topbar { min-height: 88px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 0; }
.location-bar { display: flex; align-items: center; min-width: 0; gap: 13px; }
.back-button { display: grid; place-items: center; width: 33px; height: 33px; flex-shrink: 0; border: 1px solid var(--line); border-radius: 7px; color: #63746a; background: #fff; }
.back-button svg { width: 17px; height: 17px; }
.back-button:hover { color: var(--accent); border-color: #b5c8b7; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; row-gap: 4px; min-width: 0; font-size: 11px; line-height: 1.5; color: #7d887f; }
.breadcrumbs > * { min-width: 0; overflow-wrap: anywhere; }
.breadcrumbs button { color: #718175; font-size: inherit; border: 0; background: transparent; padding: 3px 0; text-align: left; }
.breadcrumbs button:hover { color: var(--accent); }
.breadcrumbs [aria-current="page"] { color: #334b3f; }
.version-pill { flex-shrink: 0; font-size: 9px; line-height: 1.5; color: #768176; border: 1px solid #dce3d9; border-radius: 20px; padding: 5px 10px; background: #eff2eb; }
.version-pill.staging-badge { color: #855618; background: #fff0d9; border-color: #e4bd7b; font-weight: 650; letter-spacing: .1px; }
.notice { margin-top: 20px; border: 1px solid #cddfd3; background: #edf5ed; border-radius: 8px; padding: 13px 16px; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.notice.error { border-color: #e9cbc6; color: var(--danger); background: #fcf1ee; }
.workspace-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 26px; margin: 38px 0 32px; }
.page-heading { min-width: 0; }
.page-heading h1 { margin: 9px 0 8px; }
.page-heading p { font-size: 12px; max-width: 650px; }
.profile { display: flex; gap: 9px; align-items: center; flex-shrink: 0; padding-top: 4px; }
.avatar { width: 33px; height: 33px; flex-shrink: 0; display: grid; place-items: center; background: #e6ece1; border-radius: 50%; font-size: 11px; color: #5f725c; }
.profile strong { font-size: 10px; display: block; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile div > span { display: block; font-size: 9px; color: var(--muted); margin-top: 4px; }
.profile button { border-left: 1px solid var(--line); margin-left: 4px; border-radius: 0; }
.primary, .secondary { border-radius: 7px; padding: 11px 15px; min-height: 42px; font-size: 11px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: 9px; text-align: center; line-height: 1.5; }
.primary { color: #fff; border: 1px solid var(--accent); background: var(--accent); }
.primary:hover:enabled { background: #0d523e; border-color: #0d523e; }
.primary > span[aria-hidden] { font-size: 16px; line-height: 1; }
.secondary { background: #fff; color: #45574a; border: 1px solid #dce3da; }
.secondary:hover:enabled { border-color: #8dada0; background: #f8faf6; }
.text-button { border: none; background: transparent; color: var(--muted); font-size: 11px; line-height: 1.5; padding: 8px; }
.text-button:hover:enabled { color: var(--accent); }
.view { min-width: 0; }
.view-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-title, .toolbar-actions { display: flex; align-items: center; gap: 10px; }
.section-title h2, .view-toolbar > h2 { font-size: 16px; }
.toolbar-actions { flex-shrink: 0; }
.count { font-size: 10px; line-height: 1.4; color: var(--accent); background: #e7eee3; padding: 5px 8px; border-radius: 5px; font-weight: 600; }
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 26px; }
.team-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 13px; }
.team-card { display: flex; width: 100%; min-width: 0; align-items: center; text-align: left; gap: 13px; border: 1px solid var(--line); border-radius: 10px; padding: 21px 19px; background: #fff; color: var(--ink); }
.team-card:hover { border-color: #9ebaa5; box-shadow: 0 3px 12px #253e2905; }
.team-card.selected { border-color: #b2c8b4; }
.team-icon { width: 43px; height: 43px; border-radius: 10px; display: grid; place-items: center; background: #edf2e7; color: #567553; font-size: 16px; flex-shrink: 0; }
.team-card > div { min-width: 0; flex: 1; }
.team-card strong { font-size: 13px; display: block; overflow-wrap: anywhere; font-weight: 600; }
.team-card p { font-size: 10px; line-height: 1.5; color: var(--muted); margin-top: 7px; }
.team-card .arrow { color: #9db19e; margin-left: auto; font-size: 20px; }
.empty { text-align: center; color: var(--muted); padding: 53px 20px; font-size: 12px; line-height: 1.7; }
.empty > span { display: block; font-size: 35px; color: #afc0ab; margin-bottom: 13px; }
.empty > strong { color: #4f6654; font-size: 15px; font-weight: 550; }
.empty > p { font-size: 12px; max-width: 320px; margin: 9px auto 0; }
#more-teams, #more-editions, #more-accounts, #more-account-grants, #more-publications { margin-top: 16px; }
.form-view { max-width: 600px; }
.form-panel { padding: 30px; }
.form-intro { margin-bottom: 26px; }
.form-step { display: grid; place-items: center; width: 37px; height: 37px; font-size: 23px; color: var(--accent); background: #edf3e8; border-radius: 9px; margin-bottom: 19px; }
.form-intro h2 { margin-bottom: 9px; }
.form-intro p { font-size: 12px; line-height: 1.8; max-width: 440px; }
form { display: grid; gap: 18px; }
label { display: grid; gap: 9px; font-size: 11px; font-weight: 550; color: #5b6c5e; }
input, select { display: block; width: 100%; min-width: 0; background: #fff; border: 1px solid #d7e0d5; border-radius: 7px; padding: 12px; font-size: 12px; color: var(--ink); min-height: 43px; }
input::placeholder { color: #a0aba0; font-size: 11px; }
select { cursor: pointer; }
.form-panel form > button { margin-top: 5px; }
.team-context { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 23px; margin-bottom: 25px; border-bottom: 1px solid var(--line); }
.team-context > div { min-width: 0; }
.team-context h2 { font-size: 17px; margin: 5px 0; overflow-wrap: anywhere; }
.team-context p { font-size: 10px; }
.refresh-button { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.refresh-button svg { width: 14px; height: 14px; }
.permission-note { margin: -8px 0 20px; font-size: 11px; }
.edition-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 255px), 1fr)); gap: 13px; }
.edition-card { display: flex; gap: 13px; align-items: flex-start; min-width: 0; border: 1px solid var(--line); border-radius: 10px; background: #fff; text-align: left; padding: 20px 18px; color: var(--ink); }
.edition-card:hover { border-color: #9cb7a4; }
.edition-card.selected { border-color: #9cb7a4; }
.edition-card .edition-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: #edf2e9; color: var(--accent); font-size: 25px; flex-shrink: 0; }
.edition-card .edition-card-body { min-width: 0; }
.edition-card strong { display: block; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; font-weight: 600; }
.edition-card p { font-size: 10px; line-height: 1.7; color: var(--muted); margin-top: 6px; }
.edition-card .edition-card-status { color: #5c795c; }
.detail-toolbar { margin: -9px 0 14px; }
.detail-toolbar .text-button { padding-left: 0; display: inline-flex; align-items: center; gap: 8px; color: #64816b; }
.edition-detail { max-width: 960px; padding: 27px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.section-heading > h2, .section-heading > h3 { min-width: 0; overflow-wrap: anywhere; }
.badge { display: inline-block; padding: 6px 9px; background: #eff3eb; color: #6c7e66; border-radius: 6px; font-size: 10px; line-height: 1.5; white-space: nowrap; }
.edition-identity { overflow-wrap: anywhere; }
.source-info { display: flex; align-items: center; gap: 13px; border: 1px solid #e2e9dd; background: #f8faf5; border-radius: 8px; padding: 15px 16px; margin: 21px 0 23px; }
.source-icon { width: 28px; flex-shrink: 0; color: #6c8a64; font-size: 25px; }
.source-info > div { display: grid; gap: 5px; min-width: 0; }
.source-info strong { font-size: 12px; overflow-wrap: anywhere; }
.source-info .small { font-size: 10px; }
.upload-source { gap: 13px; max-width: 650px; padding-top: 5px; }
.upload-source p { font-size: 11px; }
.upload-source input[type=file] { padding: 10px; background: #fbfcf9; font-size: 11px; overflow: hidden; }
.upload-source input::file-selector-button { background: #edf3e8; color: #4b6948; border: 0; border-radius: 4px; padding: 8px 10px; margin-right: 10px; cursor: pointer; font-size: 10px; }
.upload-source button { justify-self: start; }
.upload-progress-area { margin: 19px 0 7px; padding: 15px; background: #edf3e8; border-radius: 7px; }
.upload-progress-area progress { display: block; width: 100%; height: 8px; accent-color: var(--accent); }
.upload-progress-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 9px; font-size: 11px; line-height: 1.6; color: #577052; }
.upload-progress-caption .text-button { white-space: nowrap; color: #66785e; }
#check-upload { margin-top: 12px; }
.preview-area { margin-top: 25px; padding-top: 24px; border-top: 1px solid var(--line); }
.preview-area .section-heading { align-items: flex-start; margin-bottom: 12px; }
.preview-area .section-heading p { margin-top: 6px; font-size: 11px; }
#edition-preview { display: block; width: 100%; max-height: 510px; margin-top: 15px; border-radius: 8px; background: #1d2520; object-fit: contain; }
.material-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr); gap: 24px; margin-top: 26px; }
.material-panel { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: #fcfdfb; }
.material-panel h3 { margin: 0 0 14px; }
.material-panel textarea { box-sizing: border-box; width: 100%; min-height: 270px; resize: vertical; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 14px; line-height: 1.7; }
.material-panel textarea:focus { outline: 2px solid #a9c6b8; outline-offset: 2px; }
.material-panel textarea:read-only { background: #f4f6f1; }
.material-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 14px; }
.cover-image { display: block; width: 135px; height: 240px; max-width: 100%; margin: 18px 0; border-radius: 8px; object-fit: contain; background: #111; }
.source-section-title { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.generation-result { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.generation-readiness { padding: 0; margin: 18px 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; }
.generation-readiness li { padding: 8px 12px; border-radius: 7px; background: #f0f2ed; color: #6f786e; }
.generation-readiness li.ready { color: #285f49; background: #e7f1e9; }
.render-status { font-size: 15px; line-height: 1.6; font-weight: 600; }
#output-video { display: block; width: 100%; max-height: 660px; margin: 18px 0; border-radius: 8px; background: #1d2520; object-fit: contain; }
@media (max-width: 900px) { .material-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .material-panel { padding: 16px; } .material-panel textarea { font-size: 16px; } .material-actions > .primary, .material-actions > .secondary { width: 100%; } }
.upload-navigation-banner { display: flex; align-items: center; gap: 12px; border: 1px solid #ccdfcf; border-radius: 8px; background: #eef5ec; padding: 12px 14px; margin-bottom: 24px; font-size: 11px; line-height: 1.6; color: #4b7150; }
.upload-banner-indicator { width: 7px; height: 7px; background: #649b6b; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 4px #639c6a12; }
#upload-navigation-text { min-width: 0; overflow-wrap: anywhere; flex: 1; }
#return-to-upload { flex-shrink: 0; color: var(--accent); padding: 6px 3px; }
.members-panel > #member-section > .section-heading { margin-bottom: 19px; }
.member-list { display: grid; gap: 0; }
.member-row { display: flex; gap: 14px; align-items: center; border-top: 1px solid #eef0eb; padding: 19px 0; }
.member-row:first-child { border-top: none; }
.member-row:last-child { padding-bottom: 0; }
.member-identity { min-width: 130px; flex: 1; }
.member-identity strong { font-size: 12px; display: block; overflow-wrap: anywhere; }
.member-identity span { font-size: 10px; color: var(--muted); display: block; margin-top: 6px; }
.member-controls { display: flex; align-items: center; gap: 8px; flex: 0 1 465px; }
.member-controls select { font-size: 11px; padding: 9px; min-height: 38px; }
.member-controls button { font-size: 10px; padding: 9px 12px; min-height: 38px; }
.invite-section { border-top: 1px solid var(--line); padding-top: 26px; margin-top: 27px; }
.invite-section > div > p { margin-top: 7px; font-size: 11px; }
.invite-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; margin-top: 21px; gap: 13px; }
.invite-result { margin-top: 21px; padding: 19px; border-radius: 8px; background: #f2f6ee; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 13px; }
.invite-result p { grid-column: 1/-1; font-size: 11px; overflow-wrap: anywhere; }
.invite-result input { font-family: ui-monospace, monospace; font-size: 11px; background: #fff; }
.welcome { padding: 73px 0 40px; max-width: 690px; margin: auto; }
.welcome h1 { font-size: 55px; margin: 18px 0 19px; letter-spacing: -2.5px; }
.lead { font-size: 15px; line-height: 1.8; color: var(--muted); }
.welcome-card { margin-top: 35px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 25px 28px; max-width: 480px; box-shadow: 0 9px 30px #233d2c05; }
.telegram-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--accent-light); display: grid; place-items: center; color: var(--accent); font-size: 26px; float: right; }
.welcome-card h2 { padding-top: 8px; }
.welcome-card p { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 18px 0; }
.welcome-card button { width: 100%; margin-bottom: 12px; }
.welcome-card > .small { display: block; text-align: center; font-size: 10px; }
.welcome-foot { display: flex; align-items: center; gap: 10px; font-size: 10px; color: var(--muted); margin-top: 30px; flex-wrap: wrap; }
.welcome-foot > span { font-size: 9px; color: var(--accent); background: #e8eee5; border-radius: 50%; padding: 5px; }
.welcome-foot > span:not(:first-child) { margin-left: 14px; }
footer { font-size: 13px; font-weight: 650; letter-spacing: -.5px; color: #8e9d89; padding: 42px 0 26px; display: flex; align-items: center; gap: 15px; }
footer > span { font-size: 9px; font-weight: 400; letter-spacing: 0; color: #9aa596; }
@media (min-width: 1450px) {
  main { padding: 0 64px; }
  .workspace-header { margin-top: 43px; }
}
@media (max-width: 1150px) {
  .app-shell { grid-template-columns: 203px minmax(0, 1fr); }
  .sidebar { padding: 31px 17px 24px; }
  main { padding: 0 30px; }
  .workspace-header { gap: 18px; }
  .profile div { display: none; }
  .profile button { border-left: 0; margin-left: 0; padding-right: 0; }
  .profile { gap: 4px; }
  .member-row { flex-wrap: wrap; }
  .member-controls { flex-basis: 100%; }
  .invite-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .invite-form > button { grid-column: 1/-1; }
}
@media (max-width: 760px) {
  .app-shell { display: block; }
  .sidebar { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 22px 22px; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; }
  .brand { font-size: 29px; flex-shrink: 0; }
  .brand-mark { grid-template-columns: 7px 7px; gap: 2px; margin-right: 9px; }
  .brand-mark i { height: 7px; }
  .team-switch { margin-top: 0; width: auto; max-width: 55%; padding: 7px 9px; gap: 6px; background: #f7f8f4; }
  .team-switch-icon, .team-switch-copy > span { display: none; }
  .team-switch-copy strong { font-size: 11px; }
  .team-switch svg { width: 13px; height: 13px; }
  .sidebar-bottom, .sidebar-label { display: none; }
  .app-navigation { position: fixed; z-index: 20; bottom: 0; left: 0; right: 0; margin: 0; display: flex; align-items: stretch; justify-content: space-around; gap: 4px; background: #fff; border-top: 1px solid var(--line); padding: 7px 12px calc(7px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -3px 18px #273e2605; }
  .nav-item { flex: 1; min-width: 0; width: auto; flex-direction: column; justify-content: center; gap: 5px; padding: 8px 4px; font-size: 10px; border-radius: 7px; }
  .nav-item svg { width: 20px; height: 20px; }
  .nav-item[aria-current="page"]::after, .nav-item[aria-current="true"]::after, .nav-item.active::after { display: none; }
  main { padding: 0 22px calc(82px + env(safe-area-inset-bottom, 0px)); }
  .topbar { min-height: 64px; gap: 10px; padding: 11px 0; }
  .location-bar { gap: 9px; }
  .breadcrumbs { font-size: 10px; column-gap: 7px; }
  .back-button { width: 29px; height: 29px; border-radius: 6px; }
  .back-button svg { width: 15px; height: 15px; }
  .version-pill { font-size: 8px; padding: 4px 8px; max-width: 104px; text-align: center; }
  .workspace-header { margin: 28px 0 26px; gap: 15px; align-items: flex-start; }
  .page-heading h1 { font-size: 29px; margin: 8px 0; letter-spacing: -1px; }
  .page-heading p { font-size: 11px; }
  .page-heading .eyebrow { font-size: 8px; letter-spacing: 1.3px; }
  .profile { flex-wrap: wrap; justify-content: flex-end; gap: 0; width: 36px; padding-top: 0; }
  .profile button { font-size: 9px; padding: 6px 0 0; }
  .avatar { width: 30px; height: 30px; font-size: 10px; }
  .view-toolbar { align-items: flex-start; flex-wrap: wrap; gap: 15px; margin-bottom: 18px; }
  .toolbar-actions { width: 100%; gap: 9px; }
  .toolbar-actions > button { flex: 1; }
  .section-title h2, .view-toolbar > h2 { font-size: 15px; }
  .primary, .secondary { min-height: 42px; padding: 10px 12px; font-size: 11px; }
  .panel { padding: 21px; border-radius: 9px; }
  .team-list, .edition-list { grid-template-columns: 1fr; gap: 11px; }
  .team-card { padding: 18px 16px; }
  .team-card strong { font-size: 13px; }
  .team-card p { font-size: 10px; }
  .team-icon { width: 38px; height: 38px; font-size: 15px; }
  .empty { padding: 39px 20px; }
  .empty > strong { font-size: 14px; }
  .empty > p { font-size: 11px; }
  .form-panel { padding: 24px 21px; }
  .form-intro { margin-bottom: 23px; }
  .form-intro h2 { font-size: 18px; }
  .form-intro p { font-size: 11px; }
  input, select { min-height: 46px; font-size: 16px; }
  .team-context { padding-bottom: 19px; margin-bottom: 21px; gap: 13px; align-items: flex-start; }
  .team-context h2 { font-size: 16px; }
  .team-context p { font-size: 10px; }
  .refresh-button { padding: 2px 0; font-size: 9px; max-width: 90px; text-align: left; line-height: 1.7; gap: 5px; }
  .refresh-button svg { width: 13px; height: 13px; }
  .permission-note { margin-top: -3px; margin-bottom: 17px; font-size: 10px; }
  .edition-card { padding: 18px 16px; }
  .edition-detail { padding: 22px 18px; }
  .edition-detail > .section-heading > h2 { font-size: 19px; }
  .badge { font-size: 9px; padding: 5px 7px; }
  .section-heading { align-items: flex-start; gap: 12px; }
  .section-heading > h2 { font-size: 17px; }
  .section-heading > .small { font-size: 10px; white-space: nowrap; padding-top: 3px; }
  .upload-source button { width: 100%; }
  .upload-source input::file-selector-button { max-width: 120px; font-size: 9px; padding: 7px 8px; }
  .upload-source p { font-size: 10px; }
  .source-info { gap: 9px; padding: 13px 11px; }
  .source-info strong { font-size: 11px; }
  .source-info .small { font-size: 9px; }
  .upload-progress-caption { align-items: flex-start; flex-direction: column; gap: 3px; }
  .upload-progress-caption .text-button { padding: 4px 0; }
  .preview-area .section-heading { flex-direction: column; gap: 13px; }
  .preview-area .section-heading > button { width: 100%; }
  .upload-navigation-banner { flex-wrap: wrap; gap: 9px; padding: 13px; font-size: 10px; }
  #upload-navigation-text { flex-basis: calc(100% - 25px); }
  #return-to-upload { margin-left: 16px; font-size: 10px; padding: 0; }
  .member-row { gap: 13px; padding: 18px 0; }
  .member-identity { min-width: 0; }
  .member-identity strong { font-size: 11px; }
  .member-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .member-controls select { flex: 1; min-width: 100px; font-size: 16px; }
  .member-controls button { width: 100%; }
  .invite-form { grid-template-columns: 1fr; }
  .invite-form > button { grid-column: auto; }
  .invite-result { grid-template-columns: 1fr; padding: 15px; }
  .invite-result input { font-size: 16px; }
  .invite-result > button { width: 100%; }
  .invite-result p { font-size: 10px; }
  .welcome { padding-top: 43px; }
  .welcome h1 { font-size: 43px; letter-spacing: -1.8px; }
  .lead { font-size: 13px; }
  .welcome-card { padding: 22px; }
  .welcome-foot { font-size: 9px; gap: 7px; }
  .welcome-foot > span:not(:first-child) { margin-left: 4px; }
  footer { padding: 33px 0 20px; font-size: 12px; gap: 12px; }
  footer > span { font-size: 8px; line-height: 1.6; }
  .notice { font-size: 11px; padding: 12px 13px; }
}
@media (max-width: 360px) {
  .sidebar { padding: 20px 16px; gap: 15px; }
  main { padding-left: 16px; padding-right: 16px; }
  .brand { font-size: 27px; }
  .team-switch { max-width: 53%; }
  .version-pill { max-width: 82px; font-size: 7px; }
  .breadcrumbs { font-size: 9px; }
  .location-bar { gap: 7px; }
  .page-heading h1 { font-size: 27px; }
  .toolbar-actions { gap: 7px; }
  .toolbar-actions .primary, .toolbar-actions .secondary { font-size: 10px; padding: 10px 9px; }
  .panel { padding: 19px 16px; }
  .source-info { padding: 12px 9px; }
  .source-icon { width: 20px; }
  .member-controls select { min-width: 92px; }
  .welcome h1 { font-size: 38px; }
  .welcome-card { padding: 21px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
}

.script-server-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;padding:12px;background:var(--bg);border-radius:12px;max-height:300px;overflow:auto}

.publishing-list{display:grid;gap:12px;margin-top:20px}.publishing-card{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff;gap:16px}.publishing-card strong,.publishing-card p{overflow-wrap:anywhere}.publishing-card p{margin-top:7px;color:var(--muted);font-size:12px}.publication-summary{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;margin:24px 0}.publication-summary dt{color:var(--muted);font-size:12px}.publication-summary dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}#account-grants{margin-top:28px}#account-connect-link{margin-top:20px}#verify-account-connect{margin-top:12px}#open-create-publication{margin:20px 0}.grant-row{padding:16px 0;border-bottom:1px solid var(--line)}.grant-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.grant-controls label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}.grant-controls input{width:auto}.grant-row strong{display:block;margin-bottom:12px}
@media(max-width:760px){.app-navigation{gap:0;padding-left:5px;padding-right:5px}.nav-item{font-size:9px;padding-left:2px;padding-right:2px}.publication-summary{grid-template-columns:1fr;gap:7px}.publication-summary dd{margin-bottom:12px}.publishing-card{padding:16px}.grant-controls button{width:100%}}

.section-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.connection-create{margin-top:28px;max-width:650px}.connection-create summary{cursor:pointer;font-size:15px;font-weight:600}.connection-create form{margin-top:22px}.social-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.social-row>div{min-width:0}.social-row strong{font-size:14px;overflow-wrap:anywhere}.social-row p{margin-top:8px}.profile-grants-panel{margin-top:24px}.profile-grants-panel>p{margin-top:12px}.batch-form-panel{max-width:780px}.batch-form-panel>p{margin:12px 0 24px}.batch-form-panel textarea{width:100%;resize:vertical;min-height:150px;padding:14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;line-height:1.7}.target-fieldset{border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0}.target-fieldset legend{padding:0 8px;font-weight:600;font-size:14px}.batch-targets{display:grid;gap:10px;margin-top:15px}.batch-target{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}.batch-target input{grid-row:1/3;grid-column:1;width:20px;min-height:22px;margin:0}.batch-target>span{grid-column:2}.platform-settings{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:10px;margin-bottom:16px}.platform-settings label:has(input[type=checkbox]){display:flex;align-items:center;gap:12px}.platform-settings input[type=checkbox]{width:20px;min-height:22px}.batch-children{display:grid;gap:16px;margin-top:20px}.batch-child h3{overflow-wrap:anywhere}.batch-child .render-status{margin-top:14px}.batch-child>.muted{margin-top:12px;overflow-wrap:anywhere}.publication-child-error{font-size:13px;line-height:1.7;color:#89582d;margin-top:12px}.danger-review{margin:18px 0;padding:16px;border:1px solid #e8d6bd;border-radius:8px;background:#fffaf0;font-size:13px;line-height:1.7}.danger-review button{margin-top:12px}
@media(max-width:760px){.section-tabs>*{flex:1}.social-row{align-items:flex-start;flex-wrap:wrap}.social-row>button{width:100%}.batch-form-panel textarea{font-size:16px}.batch-target{font-size:13px}.platform-settings{padding:16px}.batch-child .material-actions>*{width:100%;text-align:center}.connection-create form{margin-top:20px}.profile-grants-panel .grant-controls{align-items:stretch;flex-direction:column}}

.social-row{flex-wrap:wrap}.social-row>.danger-review{flex-basis:100%}.connection-profile-list .empty a{margin-top:15px}

.template-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:24px;align-items:start}.template-settings,.template-preview-column,.template-preview-panel{min-width:0}.template-settings>.muted{margin:14px 0 22px}.template-fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:18px}.template-fieldset>.template-fieldset{border-top:1px solid var(--line);padding-top:20px;margin-top:5px}.template-fieldset legend{font-weight:600;font-size:14px;padding:0;margin-bottom:18px}.template-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.template-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-color-grid label{font-size:11px;min-width:0}.template-color-grid input[type=color]{padding:4px;height:42px;min-height:42px;cursor:pointer}.template-check{display:flex;align-items:center;gap:10px}.template-check input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0}.template-settings .material-actions{margin-top:24px}.template-preview-column{display:grid;gap:24px}.template-preview-panel>label{margin:20px 0 16px}.template-preview-stage{position:relative;aspect-ratio:9/16;width:100%;max-width:360px;margin:0 auto 18px;background:linear-gradient(160deg,#152335,#435166);border:1px solid var(--line);border-radius:8px;overflow:hidden;touch-action:pan-y;isolation:isolate}.template-preview-stage img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;z-index:1}.template-preview-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#d8e2ed;font-size:12px;line-height:1.8;padding:20px}.template-preview-handles{position:absolute;inset:0;z-index:2;pointer-events:none}.template-block-handle{position:absolute;border:1px dashed #92e6ff;background:#1a3b6020;color:#fff;text-shadow:0 1px 3px #000;font-size:10px;line-height:1.3;padding:4px;pointer-events:auto;cursor:move;touch-action:none;min-width:0;min-height:0;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;border-radius:3px}.template-block-handle.selected{border:2px solid #69dbff;background:#23b7f526}.template-block-handle:focus-visible{outline:3px solid #ffd439;outline-offset:1px}.template-block-handle:disabled{cursor:default;opacity:.7}.template-preview-panel>p{margin-top:13px}.template-warning{color:#825124;background:#fff6e7;padding:12px;border-radius:7px;line-height:1.7}.template-versions-panel>p{margin-top:12px}.template-version-list{margin-top:14px}.template-version-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.template-version-row>div{min-width:0}.template-version-row p{margin-top:5px}.template-version-row button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:4px}.template-version-row>.secondary{font-size:10px;min-height:36px;padding:8px 10px}.edition-template-panel{margin-bottom:22px}.edition-template-panel h3{font-size:14px}.edition-template-panel .section-heading p{margin-top:8px}#edition-template-controls{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}#edition-template-controls>p{grid-column:1/-1}#edition-template-feedback{margin-top:12px}#template-navigation-guard{margin-top:0;margin-bottom:20px}#template-navigation-guard .material-actions{margin-top:12px}
@media(max-width:1100px){.template-workspace{grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);gap:18px}.template-settings,.template-preview-panel,.template-versions-panel{padding:20px}.template-color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:760px){.app-navigation{overflow-x:auto;justify-content:flex-start}.nav-item{flex:1 0 51px}.template-workspace{grid-template-columns:1fr;gap:18px}.template-settings{order:1}.template-preview-column{order:0;gap:18px}.template-preview-panel{padding:20px}.template-preview-stage{max-width:290px}.template-preview-column{grid-template-columns:1fr}.template-versions-panel{order:1}.template-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-color-grid label{font-size:10px}.template-two-columns{gap:11px}.template-check{font-size:11px}.template-settings .material-actions>*{width:100%}.template-version-row>.secondary{font-size:10px}.edition-template-panel .section-heading{flex-wrap:wrap}#edition-template-controls{grid-template-columns:1fr}#edition-template-controls>p{grid-column:auto}.template-block-handle{font-size:9px}.template-preview-column{display:contents}.template-preview-panel{order:0}.template-settings{order:1}.template-versions-panel{order:2}#template-navigation-guard .material-actions>*{width:100%}}

.template-block-handle{justify-content:flex-start;text-align:left}.template-block-label{display:inline-block;align-self:flex-start;max-width:100%;padding:3px 5px;border-radius:3px;background:#122039e8;color:#fff;font-size:9px;line-height:1.3;text-shadow:none;overflow-wrap:anywhere}.template-preview-panel>.template-handle-toggle{margin:0 0 12px;font-size:11px}

.output-actions{margin-top:18px}.output-actions>a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}#download-output-feedback{margin:12px 0 18px}
@media(max-width:760px){.output-actions>*{width:100%;text-align:center}}
.edition-clubs{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.edition-clubs>p{margin-top:8px}.club-list{display:grid;gap:14px;margin-top:16px}.club-choice{padding:16px;border:1px solid var(--line);border-radius:9px;min-width:0;background:var(--panel)}.club-source{margin:0 0 8px;font-size:14px;overflow-wrap:anywhere}.club-confirmed{font-size:13px;color:var(--accent);line-height:1.6;overflow-wrap:anywhere}.club-choice>.text-button{margin-top:10px}.club-card-form{margin-top:14px;display:grid;gap:10px}.club-card-form label{margin:0}.club-card-form input{font-size:14px}.club-card-preview{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;margin-top:14px}.club-card-preview:empty{display:none}.club-card-preview>img{width:64px;height:64px;object-fit:contain}.club-card-preview>div{overflow-wrap:anywhere;line-height:1.5}.club-card-preview>div>p{margin-top:5px}.club-card-preview>.club-remember,.club-card-preview>button{grid-column:1/-1}.club-remember{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:0}.club-remember>input{width:18px;min-height:18px;margin:1px 0 0;flex-shrink:0}.club-feedback{margin-top:12px;overflow-wrap:anywhere}
@media(max-width:760px){.club-choice{padding:13px}.club-card-form input{font-size:16px}.club-card-form>button,.club-card-preview>button{width:100%}}
.club-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:14px}.club-search-form label{margin:0;min-width:0}.club-search-form input{font-size:14px}.club-search-feedback{margin-top:10px;overflow-wrap:anywhere}.club-search-results{display:grid;gap:8px;list-style:none;padding:0;margin:12px 0 0}.club-search-results:empty{display:none}.club-search-result{display:grid;gap:4px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px;text-transform:none;letter-spacing:normal;line-height:1.5}.club-search-result>*{overflow-wrap:anywhere}.club-search-result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.club-search-form+.club-search-feedback+.club-search-results+.club-card-form{padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:760px){.club-search-form{grid-template-columns:1fr}.club-search-form input{font-size:16px}.club-search-form>button{width:100%}}
