/* Shared page layout. Load after the theme so every breakpoint stays single column. */
html:not(.dark) .w2k {
  --studio-surface: #fff;
  --studio-soft: #f1f5f9;
  --studio-line: #d7e0e7;
  --studio-text: #263746;
  --studio-muted: #72818e;
}

.w2k .w2k-window {
  box-sizing: border-box;
  width: 100%;
  max-width: 1100px;
  min-width: 0;
  margin-inline: auto;
}

.w2k .w2k-client-explorer,
.w2k .w2k-client-doc,
.cms-admin-workspace .cms-admin-layout,
.w2k .archive-browser-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.w2k .w2k-client > .w2k-main,
.w2k .w2k-client > .w2k-pane-doc {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  grid-column: 1;
  grid-row: auto;
  margin-inline: 0;
}

/* Explicit rows prevent the page's minimum height from stretching the header row. */
.member-site:not(.cms-admin-workspace) .w2k-client-doc,
.cms-admin-workspace .cms-admin-layout {
  grid-template-rows: auto auto;
  align-content: start;
  row-gap: 12px;
}
.member-site:not(.cms-admin-workspace) .w2k-client-doc { min-height: 0; }
.member-site .member-panel { min-height: 0; }
.member-site .member-panel-content { padding: 18px 22px; }
.member-site .member-panel-content > h2:first-child { margin-top: 0; }
.w2k .member-profile-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-top: 18px; }
.w2k .member-profile-layout .member-profile-facts { max-width: none; width: 100%; margin: 0; border: 1px solid var(--studio-line); }
.w2k .member-profile-facts > div { grid-template-columns: 120px minmax(0, 1fr); gap: 0; padding: 0; }
.w2k .member-profile-facts dt { padding: 13px 14px; background: var(--studio-soft); border-right: 1px solid var(--studio-line); }
.w2k .member-profile-facts dd { padding: 13px 14px; }
.w2k .member-reading-benefits { padding: 16px; border: 1px solid var(--studio-line); border-radius: 5px; }
.w2k .member-reading-benefits h2 { margin: 0 0 12px; }
.w2k .member-reading-benefits .member-benefits { margin: 0 0 12px; padding-left: 18px; }
.cms-admin-workspace .cms-breadcrumb-action,
.cms-admin-workspace .cms-breadcrumb-note { margin-left: auto; flex: 0 0 auto; font-size: 12px; }
.cms-admin-workspace .cms-breadcrumb-action { padding: 6px 10px; border: 1px solid var(--studio-line); border-radius: 4px; background: var(--studio-surface); color: var(--studio-text); }
.cms-admin-workspace .cms-breadcrumb-note { color: var(--studio-muted); }
.cms-admin-workspace .cms-admin-header { align-self: start; }
.cms-admin-workspace .cms-admin-content { padding: 18px; }
.cms-admin-workspace .cms-admin-content > main > h1 { margin: 0 0 16px; font-size: 22px; }
.cms-admin-workspace .cms-admin-header .member-identity { padding: 10px 14px; }
.cms-admin-workspace .cms-admin-header .member-side-nav { padding: 6px 8px; }

.cms-admin-workspace .cms-settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px; align-items: start; }
.cms-admin-workspace .cms-site-profile { max-width: none; margin: 0; padding: 18px; }
.cms-admin-workspace .cms-site-profile h2 { margin: 0 0 6px; font-size: 17px; }
.cms-admin-workspace .cms-site-profile > p { margin: 0 0 18px; }
.cms-admin-workspace .cms-site-profile label { min-width: 0; }
.cms-admin-workspace .cms-site-profile :is(input,select,textarea) { min-width: 0; max-width: 100%; }
.cms-admin-workspace .cms-site-profile select { width: 100%; padding: 10px; border: 1px solid var(--studio-line); border-radius: 6px; background: var(--studio-surface); color: var(--studio-text); font: inherit; }
.cms-admin-workspace .cms-site-profile .cms-check { display: flex; align-items: center; gap: 8px; margin: 12px 0; }
.cms-admin-workspace .cms-site-profile .cms-check input { width: 16px; height: 16px; margin: 0; }
.cms-admin-workspace .cms-settings-layout .cms-site-profile-grid { gap: 14px; }
.cms-settings-section { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--studio-line); }
.cms-settings-section summary { cursor: pointer; font-weight: 600; margin-bottom: 12px; }
.cms-settings-section h3 { font-size: 14px; margin: 0 0 12px; }
.cms-mail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cms-mail-status { margin-top: 10px; font-size: 12px; overflow-wrap: anywhere; }
.cms-mail-message { padding: 10px 0; border-bottom: 1px solid var(--studio-line); overflow-wrap: anywhere; font-size: 12px; }
.cms-mail-message p { margin: 4px 0 0; color: var(--studio-muted); }
.cms-email-code-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.cms-email-code-row input { min-width: 0; flex: 1; width: 100%; }
.cms-email-code-row button { flex: 0 0 auto; width: auto; white-space: nowrap; padding: 8px 10px; font-size: 12px; }
.cms-member-email { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--studio-line); }

.cms-admin-workspace .cms-editor-taxonomies { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 16px; margin-bottom: 16px; }
.cms-editor-taxonomies .cms-field-label { display: block; margin-bottom: 6px; }
.cms-editor-taxonomies :is(label,.cms-editor-tags) { min-width: 0; margin: 0; }
.cms-admin-workspace .cms-editor-options { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.cms-admin-workspace .cms-editor-options > .cms-inspector-card { min-width: 0; margin: 0; padding: 14px; }
.cms-admin-workspace .cms-editor-options .cms-cover-drop { width: 100%; aspect-ratio: 16 / 9; height: auto; min-height: 120px; max-height: 190px; }
.cms-admin-workspace .cms-editor-options .cms-cover-drop img { width: 100%; height: 100%; object-fit: cover; }
.cms-admin-workspace .cms-editor-options :is(.cms-permission-row,.cms-media-entry-grid) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.cms-admin-workspace .cms-editor-options .cms-permission-row > label { width: 100%; }
.cms-admin-workspace .cms-editor-options .editor-action-secondary { width: 100%; min-height: 38px; }
.cms-admin-workspace .cms-editor-options .cms-field-label { display: block; margin-bottom: 6px; }
.cms-admin-workspace .cms-editor-options .cms-cover-heading button { font-size: 11px; }

@media (max-width: 800px) {
  .cms-admin-workspace .cms-settings-layout { grid-template-columns: minmax(0, 1fr); }
  .cms-admin-workspace .cms-editor-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-admin-workspace .cms-editor-options > :first-child { grid-column: 1 / -1; }
  .cms-admin-workspace .cms-editor-options .cms-cover-drop { max-width: 360px; }
}
@media (max-width: 600px) {
  .cms-admin-workspace .cms-admin-content { padding: 12px; }
  .cms-admin-workspace :is(.cms-editor-taxonomies,.cms-editor-options) { grid-template-columns: minmax(0, 1fr); }
}

/* Account and administration actions remain available above the page content. */
.w2k .member-account-header {
  position: static;
  display: block;
  min-width: 0;
  width: 100%;
  padding: 0;
  color: var(--article-text);
}

.w2k .member-account-header .member-identity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 16px;
  margin: 0;
  text-align: left;
}

.w2k .member-account-header .member-avatar {
  width: 40px;
  height: 40px;
  margin: 0;
  font-size: 20px;
}

.w2k .member-account-header .member-identity-name {
  margin: 0;
}

.w2k .member-account-header .cms-admin-avatar {
  margin: 0;
}

.cms-admin-workspace #post-form > main {
  grid-template-columns: minmax(0, 1fr);
}

.cms-admin-workspace .cms-compact-inspector {
  position: static;
}

.w2k .member-account-header .member-side-nav {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 8px;
}

.w2k .member-account-header .member-side-nav > a,
.w2k .member-account-header .member-side-nav .member-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  gap: 8px;
  width: auto;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px;
  white-space: nowrap;
}

.w2k .member-account-header .member-side-nav svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.w2k .member-account-header .member-nav-label {
  display: inline;
}

.w2k .member-account-header .member-side-nav > a > span:last-child:not(.member-nav-label) {
  display: none;
}

.w2k .member-account-header .member-side-nav > form,
.w2k .member-account-header .cms-admin-logout {
  margin: 0;
  padding: 0;
  border: 0;
}

.w2k .article-inline-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--article-line);
  color: var(--article-muted);
  font-size: 12px;
  line-height: 1.6;
}

.w2k .article-inline-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.w2k .article-inline-meta .member-article-save {
  margin: 0;
}

@media (max-width: 600px) {
  .w2k .article-inline-meta { padding-inline: 12px; }
  .w2k .member-account-header .member-side-nav > a,
  .w2k .member-account-header .member-side-nav .member-secondary {
    padding-inline: 8px;
  }
}

/* Settings use field rows with shaded labels rather than large tinted panels. */
.cms-admin-workspace .cms-settings-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cms-admin-workspace .cms-settings-layout .cms-site-profile { padding: 0; background: var(--studio-surface); border-radius: 5px; overflow: hidden; }
.cms-admin-workspace .cms-settings-layout .cms-site-profile h2 { padding: 13px 14px; margin: 0; font-size: 16px; background: var(--studio-soft); border-bottom: 1px solid var(--studio-line); }
.cms-admin-workspace .cms-settings-layout .cms-site-profile > p { padding: 10px 14px; margin: 0; font-size: 12px; }
.cms-admin-workspace .cms-settings-layout .cms-site-profile-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.cms-admin-workspace .cms-settings-layout label:has(> .cms-setting-label) { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: stretch; gap: 0; padding: 0; margin: 0; border-top: 1px solid var(--studio-line); }
.cms-admin-workspace .cms-settings-layout .cms-setting-label { display: flex; align-items: center; padding: 10px 12px; font-size: 12px; background: var(--studio-soft); border-right: 1px solid var(--studio-line); }
.cms-admin-workspace .cms-settings-layout label:has(> .cms-setting-label) > :is(input,select,textarea) { width: calc(100% - 16px); margin: 8px; padding: 8px 10px; font-size: 13px; }
.cms-admin-workspace .cms-settings-layout textarea { min-height: 90px; }
.cms-admin-workspace .cms-settings-layout .cms-check { padding: 10px 14px; margin: 0; font-size: 12px; border-top: 1px solid var(--studio-line); }
.cms-admin-workspace .cms-settings-layout .cms-settings-section { margin: 0; padding: 0; }
.cms-admin-workspace .cms-settings-layout .cms-settings-section :is(summary,h3) { margin: 0; padding: 12px 14px; background: var(--studio-soft); }
.cms-admin-workspace .cms-settings-layout .cms-settings-section > .member-muted { margin: 0; padding: 10px 14px; font-size: 12px; }
.cms-admin-workspace .cms-settings-layout .cms-site-profile-actions { margin: 0; padding: 12px 14px; border-top: 1px solid var(--studio-line); }
.cms-admin-workspace .cms-settings-layout .cms-mail-actions { margin: 0; padding: 12px 14px 0; }
.cms-admin-workspace .cms-settings-layout :is(.cms-mail-status,[data-mail-messages]) { margin: 0; padding: 10px 14px; }

/* Native title tooltips remain readable without being clipped by the editor frame. */
.cms-admin-workspace .vditor-toolbar .vditor-tooltipped::before,
.cms-admin-workspace .vditor-toolbar .vditor-tooltipped::after { display: none; }

@media (max-width: 800px) {
  .w2k .member-profile-layout,
  .cms-admin-workspace .cms-settings-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .member-site .member-panel-content { padding: 14px; }
  .cms-admin-workspace .cms-breadcrumb-note { font-size: 10px; white-space: normal; text-align: right; max-width: 140px; }
  .cms-admin-workspace .cms-settings-layout label:has(> .cms-setting-label) { grid-template-columns: 96px minmax(0, 1fr); }
}

/* Keep the field's own border; remove the additional outside focus frame. */
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]),textarea,select):is(:focus,:focus-visible),
body :is(label,.cms-email-code-row,.site-mobile-search-field,div:has(> input:not([type=checkbox]):not([type=radio]):not([type=range]))):focus-within {
  outline: none !important;
  box-shadow: none !important;
}

/* Ordinary member identity and navigation share one compact header. */
.member-site:not(.cms-admin-workspace) .member-account-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid var(--mc-line);
  border-radius: 5px;
  background: var(--mc-surface);
}
.member-site:not(.cms-admin-workspace) .member-account-header .member-identity {
  flex: 0 1 auto;
  min-width: 0;
  gap: 8px;
  padding: 8px 12px;
  border: 0;
  background: transparent;
}
.member-site:not(.cms-admin-workspace) .member-account-header .member-side-nav {
  flex: 1 1 auto;
  min-width: 0;
  gap: 2px;
  padding: 6px;
  border: 0;
  background: transparent;
}
.member-site:not(.cms-admin-workspace) .member-account-header .member-side-nav :is(a,.member-secondary) { padding: 8px; font-size: 12px; }
.member-site:not(.cms-admin-workspace) .member-account-header .member-avatar { width: 32px; height: 32px; font-size: 16px; }
.member-site:not(.cms-admin-workspace) .member-account-header .member-avatar-camera { width: 16px; height: 16px; font-size: 12px; }
.member-site:not(.cms-admin-workspace) .member-account-header .member-identity-name { font-size: 13px; overflow-wrap: anywhere; }
.member-site:not(.cms-admin-workspace) .member-account-header .member-identity-name > span { font-size: 11px; }

/* Preserve authored line breaks and wrap long prose without changing code blocks. */
.w2k .reading-content { overflow-wrap: anywhere; word-break: normal; }
.w2k .reading-content :is(p,li,blockquote) { white-space: pre-line; overflow-wrap: anywhere; word-break: normal; }
.w2k .reading-content :is(h1,h2,h3,h4,h5,h6,td,th) { overflow-wrap: anywhere; }
.w2k .reading-content pre,
.w2k .reading-content pre code { white-space: pre; overflow-wrap: normal; word-break: normal; }
.w2k .prose-paper pre.code-body > code { padding-left: 4px; }
/* Ordinary article images follow the text's left edge; media components keep their layouts. */
.w2k #article-content img:not(:where(.paper-gallery *, [data-gallery] *, .paper-photo-card *, .cms-media *, .paper-download-card *, .media-card *, .article-avatar *)) {
  margin-left: 0;
  margin-right: auto;
}

/* Only collapsible callouts lose the content frame; the summary remains framed. */
.w2k .prose-paper details.paper-callout.is-collapsible {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.w2k .prose-paper details.paper-callout.is-collapsible > summary {
  border: 1px solid var(--callout-line);
  border-left: 3px solid var(--callout-accent);
  border-radius: 5px;
}
.w2k .prose-paper details.paper-callout.is-collapsible > .callout-body {
  border: 0;
  box-shadow: none;
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 640px) {
  .member-site:not(.cms-admin-workspace) .member-account-header .member-identity,
  .member-site:not(.cms-admin-workspace) .member-account-header .member-side-nav { flex-basis: 100%; }
}

/* Both account headers use one short row, with the session action at the far edge. */
.w2k.member-site .member-account-header {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-height: 48px;
  padding: 4px 8px;
  border: 1px solid var(--mc-line);
  border-radius: 5px;
  background: var(--mc-surface);
}
.w2k.member-site .member-account-header .member-identity { flex: 0 1 auto; min-width: 0; gap: 8px; margin: 0; padding: 0 8px; border: 0; background: transparent; }
.w2k.member-site .member-account-header .member-identity-name { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.w2k.member-site .member-account-header .member-identity-name > span { font-size: 11px; }
.w2k.member-site .member-account-header .member-avatar { width: 28px; height: 28px; margin: 0; font-size: 15px; }
.w2k.member-site .member-account-header .member-avatar-picker { margin: 0; }
.w2k.member-site .member-account-header .member-side-nav { display: flex; flex: 1 1 auto; align-items: center; min-width: 0; gap: 10px; margin: 0; padding: 0; border: 0; background: transparent; }
.w2k.member-site .member-account-header .member-side-nav > a,
.w2k.member-site .member-account-header .member-side-nav .member-secondary { min-height: 32px; padding: 6px 8px; font-size: 12px; }
.w2k.member-site .member-account-header .member-side-nav > form,
.w2k.member-site .member-account-header .cms-admin-logout { margin-left: auto; }
.w2k .article-inline-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.w2k .article-meta-icon { width: 14px; height: 14px; flex: 0 0 auto; }
.w2k .article-inline-meta .article-favorite-icon { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: auto; min-height: 28px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; box-shadow: none; }
.w2k .article-favorite-icon .article-meta-icon { width: 14px; height: 14px; }
.w2k .article-favorite-icon[aria-pressed=true] .article-meta-icon { fill: currentColor; }
.cms-account-dialog { width: min(560px, calc(100vw - 32px)); max-height: 88vh; overflow-y: auto; }
.cms-account-dialog .cms-dialog-heading { align-items: flex-start; }
.cms-account-dialog .cms-dialog-heading p { margin: 6px 0 0; font-size: 12px; }
.cms-account-dialog .cms-account-passwords { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cms-account-dialog .cms-account-operations { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--mc-line); }
.cms-account-dialog .cms-account-operations h3 { margin: 0 0 12px; font-size: 14px; }
.cms-account-dialog .cms-account-operations form { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.cms-account-dialog .cms-account-operations button { width: auto; padding: 8px 12px; font-size: 12px; }
@media (max-width: 900px) {
  .w2k.member-site .member-account-header { flex-wrap: wrap; gap: 4px; }
  .w2k.member-site .member-account-header .member-side-nav { flex-basis: 100%; }
}
@media (max-width: 480px) { .cms-account-dialog .cms-account-passwords { grid-template-columns: 1fr; } }

.cms-account-dialog [data-account-error]:empty { display: none; }

/* Expanded disclosures follow their content instead of leaving a fixed blank panel. */
.w2k .prose-paper details.paper-callout.is-collapsible > .callout-body {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
}
.w2k .prose-paper details.paper-callout.is-collapsible .callout-action,
html:not(.dark) .w2k details.paper-callout.is-collapsible.has-callout-tools .callout-action {
  border: 0;
  background: transparent;
  box-shadow: none;
}
.w2k .prose-paper details.paper-callout.is-collapsible .callout-action:hover { color: var(--callout-accent); }
.w2k .article-region > .front-pagination { padding: 2px 10px; margin: 0; min-height: 0; }
.w2k .article-region:has(> .front-pagination) { padding-bottom: 0; }
.w2k .article-region > .studio-home-latest:has(+ .front-pagination) { margin-bottom: 4px; }
.w2k .w2k-main:has(> .article-region > .front-pagination) { padding-bottom: 0; }
.w2k .prose-paper details.paper-callout.is-collapsible .callout-action svg { width: 14px; height: 14px; }
.w2k.member-site .member-account-header .member-avatar-camera { width: 16px; height: 16px; font-size: 12px; }
.w2k .studio-member-menu > .site-member-entry > .studio-member-avatar { width: 20px; height: 20px; font-size: 11px; border-radius: 50%; }
.w2k .studio-member-popover-head > .studio-member-avatar,
.w2k .studio-member-popover-head > .studio-member-avatar > .studio-avatar-image { border-radius: 0; }
@media (max-width: 767px) {
  .w2k .studio-member-menu > .site-member-entry > .studio-member-avatar { width: 18px; height: 18px; font-size: 10px; }
}
