/* The workspace has one document surface. Controls live at its edges until
 * they are needed; the page remains the visual anchor. */
.pn-import-diagnostic-snippet:not([tabindex]) { cursor: text !important; }
body.proofnote-document-mode { overflow: hidden; }
body.proofnote-document-mode > #legacyMathBanner,
body.proofnote-document-mode > #app,
body.proofnote-document-mode > #importBackdrop { display: none !important; }

#proofnoteDocumentApp {
  --pn-left: 48px;
  --pn-right: 0px;
  /* UI type belongs to the workspace. Document type is a physical, editorial
     scale inherited from the original Proofnote sheet and is used by both the
     editable paper and the downloaded HTML. */
  --pn-ui: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  --pn-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --pn-doc-heading: "Cormorant Garamond", "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", serif;
  --pn-doc-body: "Lora", "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", serif;
  /* The canvas sheet is A4, matching <doc-page size="a4"> and print. */
  --pn-doc-page-width: 210mm;
  --pn-doc-body-size: 12pt;
  --pn-doc-body-leading: 1.6;
  --pn-doc-title-size: 30pt;
  --pn-doc-title-leading: 1.12;
  --pn-doc-summary-size: 14.5pt;
  --pn-doc-summary-leading: 1.42;
  --pn-doc-section-1-size: 20pt;
  --pn-doc-section-2-size: 18pt;
  --pn-doc-section-3-size: 14pt;
  --pn-doc-label-size: 7.5pt;
  --pn-doc-meta-size: 10.5pt;
  display: flex;
  height: 100vh;
  flex-direction: column;
  color: var(--color-text);
  background: var(--color-bg);
}
.pn-workspace-toolbar {
  display: flex;
  min-height: 48px;
  flex: none;
  align-items: center;
  gap: 13px;
  padding: 0 18px;
  border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 82%, transparent);
  background: color-mix(in srgb, var(--color-bg) 96%, var(--color-surface));
}
.pn-wordmark { display: flex; flex: none; align-items: center; gap: 8px; font-family: var(--font-heading); font-size: 17px; }
.pn-badge { color: color-mix(in srgb, var(--color-text) 43%, transparent); font: 10px ui-monospace, Menlo, Consolas, monospace; }
.pn-app-version { color: color-mix(in srgb, var(--color-text) 42%, transparent); font: 500 9px/1 var(--pn-ui); letter-spacing: .04em; }
.pn-status { display: inline-flex; min-width: 0; align-items: center; gap: 5px; margin: 0 auto 0 0; color: color-mix(in srgb, var(--color-text) 40%, transparent); font: 10px/1.35 var(--pn-ui); letter-spacing: .01em; white-space: nowrap; transition: color .2s ease; }
.pn-status::before { width: 4px; height: 4px; flex: none; border-radius: 999px; background: currentColor; content: ""; opacity: .58; }
.pn-status[data-kind="warning"] { color: #9f6814; }
.pn-toolbar-lang { flex: none; border: 0; padding: 3px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 500 11px/1.35 var(--pn-ui); text-decoration: underline; text-underline-offset: 2px; }
.pn-toolbar-menu { position: relative; flex: none; }
.pn-toolbar-actions { display: grid; width: 28px; height: 28px; place-items: center; border: 0; border-radius: 4px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 66%, transparent); cursor: pointer; font: 500 10.5px/1 var(--pn-ui); letter-spacing: 0; }
.pn-toolbar-actions:hover,.pn-toolbar-actions[aria-expanded="true"] { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-action-menu { position: absolute; z-index: 24; top: calc(100% + 8px); right: 0; width: 210px; padding: 6px; border: 1px solid color-mix(in srgb, var(--color-divider) 92%, transparent); border-radius: 2px; background: color-mix(in srgb, var(--color-bg) 98%, white); box-shadow: 0 8px 18px rgba(25,23,20,.10); }
.pn-action-menu[hidden] { display: none; }
.pn-action-menu-label { padding: 5px 7px 4px; color: color-mix(in srgb, var(--color-text) 49%, transparent); font: 650 9.5px/1.3 var(--pn-ui); letter-spacing: .08em; text-transform: uppercase; }
.pn-action-menu-item { display: flex; width: 100%; align-items: center; border: 0; border-radius: 1px; padding: 7px; background: transparent; color: var(--color-text); cursor: pointer; font: 500 11.5px/1.35 var(--pn-ui); text-align: left; }
.pn-action-menu-item:hover { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-action-menu-submenu-wrap { position: relative; }.pn-action-menu-submenu-trigger { justify-content: space-between; }.pn-action-menu-arrow { margin-left: auto; font-size: 15px; }.pn-action-menu-submenu { top: -6px; right: calc(100% - 1px); width: 218px; }
.pn-action-menu-rule { height: 1px; margin: 5px 2px; background: color-mix(in srgb, var(--color-divider) 74%, transparent); }
.pn-action-menu-note { margin: 0; padding: 1px 7px 5px; color: color-mix(in srgb, var(--color-text) 66%, transparent); font: 11px/1.35 var(--pn-ui); }

.pn-shell { position: relative; display: grid; min-height: 0; flex: 1; grid-template-columns: var(--pn-left) minmax(0, 1fr) var(--pn-right); background: var(--color-bg); transition: grid-template-columns .18s ease; }
/* Keep the paper in the centre grid track even when either neighbour becomes
   an overlay drawer at a compact breakpoint. */
.pn-utility { grid-column: 1; grid-row: 1; }
.pn-canvas-pane { grid-column: 2; grid-row: 1; }
.pn-detail { grid-column: 3; grid-row: 1; }
.pn-utility,.pn-detail { min-width: 0; overflow: hidden; background: color-mix(in srgb, var(--color-bg) 95%, var(--color-surface)); transition: none; }
.pn-utility { background: color-mix(in srgb, var(--color-bg) 94%, var(--color-surface)); font-family: var(--pn-doc-body); }
.pn-detail { font-family: var(--pn-ui); }
.pn-utility { border-right: 1px solid color-mix(in srgb, var(--color-divider) 62%, transparent); }
.pn-sidebar-resize { position: absolute; z-index: 20; top: 0; bottom: 0; left: calc(var(--pn-left) - 5px); width: 10px; padding: 0; border: 0; outline: 0; background: transparent; cursor: col-resize; touch-action: none; }
.pn-sidebar-resize::after { position: absolute; top: 0; bottom: 0; left: 4px; width: 1px; background: transparent; content: ""; transition: background .12s ease, width .12s ease; }
.pn-sidebar-resize:hover::after,.pn-sidebar-resize:focus-visible::after,.pn-sidebar-resizing .pn-sidebar-resize::after { width: 2px; left: 4px; background: color-mix(in srgb, var(--color-accent) 68%, transparent); }
.pn-sidebar-resize:focus-visible { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 68%, transparent); }
body.pn-sidebar-resizing { cursor: col-resize; user-select: none; }
.pn-detail:not([hidden]) { border-left: 1px solid color-mix(in srgb, var(--color-divider) 82%, transparent); }
.pn-detail[hidden] { display: none; }
.pn-utility-toggle {
  display: flex; width: 100%; min-height: 56px; align-items: center; gap: 10px; overflow: hidden;
  border: 0; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 82%, transparent); padding: 0 18px; background: transparent; color: color-mix(in srgb, var(--color-text) 87%, transparent); cursor: pointer; font: 600 13px/1.3 var(--pn-doc-body); text-align: left;
}
.pn-utility-toggle:hover { color: var(--color-accent-700); }
.pn-utility-icon { flex: none; font-family: var(--pn-ui); font-size: 14px; line-height: 1; }
.pn-utility-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pn-utility:not(.is-open) .pn-utility-toggle { width: 48px; height: 44px; min-height: 44px; justify-content: center; padding: 0; border-bottom: 0; }
.pn-utility:not(.is-open) .pn-utility-label { display: none; }
.pn-utility-content { display: none; height: calc(100% - 56px); overflow-y: auto; }
.pn-utility.is-open .pn-utility-content { display: block; }
.pn-detail-content { height: 100%; overflow-y: auto; }

.pn-sidebar-tabs { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3px; padding: 14px 16px 4px; }
.pn-sidebar-tab { border: 0; border-bottom: 1px solid transparent; padding: 6px 2px 8px; background: transparent; color: color-mix(in srgb, var(--color-text) 57%, transparent); cursor: pointer; font: 600 13px/1.25 var(--pn-doc-body); text-align: center; }
.pn-sidebar-tab:hover { color: var(--color-accent-700); }
.pn-sidebar-tab.is-active { border-bottom-color: var(--color-accent); color: var(--color-text); }
.pn-sidebar-panel { padding: 13px 16px 18px; }.pn-inspector-section { padding: 17px 18px 24px; }
.pn-sidebar-heading,.pn-utility-title { margin-bottom: 10px; color: color-mix(in srgb, var(--color-text) 56%, transparent); font-family: var(--pn-doc-heading); font-size: 11.5px; font-weight: 400; letter-spacing: .055em; }
.pn-sidebar-heading { font-size: 12.5px; }
.pn-utility-title { letter-spacing: .1em; text-transform: uppercase; }
.pn-outline-heading { display: flex; align-items: center; justify-content: space-between; }
.pn-outline-count { display: grid; min-width: 18px; height: 18px; place-items: center; border-radius: 999px; background: color-mix(in srgb, var(--color-text) 7%, transparent); color: color-mix(in srgb, var(--color-text) 54%, transparent); font: 10px/1 var(--pn-ui); letter-spacing: 0; }
.pn-library-section + .pn-library-section { margin-top: 17px; border-top: 1px solid color-mix(in srgb, var(--color-divider) 58%, transparent); padding-top: 14px; }
.pn-library-heading-row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.pn-library-heading-row .pn-sidebar-heading { margin: 0; }
.pn-library-subheading { margin: 0 5px 5px; color: color-mix(in srgb, var(--color-text) 43%, transparent); font: 500 9.5px/1.25 var(--pn-ui); letter-spacing: .08em; text-transform: uppercase; }
.pn-template-list,.pn-document-list,.pn-project-list { display: flex; flex-direction: column; gap: 1px; margin: 0; }
.pn-template-item { display: block; width: 100%; overflow: hidden; border: 0; border-left: 1px solid transparent; border-radius: 0; padding: 6px 5px; background: transparent; color: color-mix(in srgb, var(--color-text) 76%, transparent); cursor: pointer; font: 400 13px/1.35 var(--pn-doc-body); text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.pn-template-item:hover { color: var(--color-accent-700); }
.pn-template-item.is-active { border-left-color: var(--color-accent); background: transparent; color: var(--color-text); font-weight: 500; }
.pn-template-item-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pn-template-item-description { display: none; }
.pn-template-group-label { margin: 10px 5px 4px; color: color-mix(in srgb, var(--color-text) 45%, transparent); font: 500 10px/1.25 var(--pn-doc-body); letter-spacing: .08em; text-transform: uppercase; }
.pn-template-item-row { display: flex; align-items: center; min-width: 0; }
.pn-template-item-row .pn-template-item { flex: 1; min-width: 0; }
.pn-template-delete { width: 22px; height: 22px; margin-right: 3px; border: 0; border-radius: 3px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 45%, transparent); cursor: pointer; font: 16px/1 var(--pn-ui); opacity: 0; visibility: hidden; }
.pn-template-item-row:hover .pn-template-delete,.pn-template-item-row:focus-within .pn-template-delete { opacity: 1; visibility: visible; }
.pn-template-delete:hover,.pn-template-delete:focus-visible { outline: 0; background: color-mix(in srgb, #c85e4b 8%, transparent); color: #8e3528; }
.pn-template-footer { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-top: 10px; }
.pn-template-new { border: 0; padding: 5px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 500 11px/1.35 var(--pn-ui); text-align: left; }
.pn-template-new:hover { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }
.pn-template-menu-wrap { position: relative; flex: none; }
.pn-template-more { display: grid; width: 24px; height: 24px; place-items: center; border: 0; border-radius: 1px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 58%, transparent); cursor: pointer; font: 400 12px/1 var(--pn-ui); letter-spacing: -1px; }
.pn-template-more:hover,.pn-template-more[aria-expanded="true"] { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-template-menu { position: absolute; z-index: 20; right: 0; bottom: calc(100% + 6px); width: 172px; padding: 6px; border: 1px solid color-mix(in srgb, var(--color-divider) 92%, transparent); border-radius: 2px; background: color-mix(in srgb, var(--color-bg) 98%, white); box-shadow: 0 8px 18px rgba(25,23,20,.10); }
.pn-template-menu[hidden] { display: none; }
.pn-template-menu-item { display: flex; width: 100%; border: 0; border-radius: 1px; padding: 7px; background: transparent; color: var(--color-text); cursor: pointer; font: 400 12px/1.35 var(--pn-ui); text-align: left; }
.pn-template-menu-item:hover { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-document-item { position: relative; display: flex; min-width: 0; align-items: center; gap: 2px; padding-left: 1px; }
.pn-document-open { min-width: 0; flex: 1; overflow: hidden; border: 0; border-left: 1px solid transparent; border-radius: 0; padding: 6px 4px; background: transparent; color: color-mix(in srgb, var(--color-text) 76%, transparent); cursor: pointer; font: 400 13px/1.35 var(--pn-doc-body); text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.pn-document-open:hover { color: var(--color-accent-700); }
.pn-document-item.is-active .pn-document-open { border-left-color: var(--color-accent); color: var(--color-text); }
.pn-document-more { position: relative; flex: none; }
.pn-document-more-trigger { display: grid; width: 22px; height: 22px; place-items: center; border: 0; border-radius: 2px; color: color-mix(in srgb, var(--color-text) 48%, transparent); cursor: pointer; font: 400 12px/1 var(--pn-ui); letter-spacing: -1px; list-style: none; opacity: 0; visibility: hidden; }
.pn-document-more-trigger::-webkit-details-marker { display: none; }
.pn-document-item:hover .pn-document-more-trigger,.pn-document-more[open] .pn-document-more-trigger,.pn-document-item:focus-within .pn-document-more-trigger { opacity: 1; visibility: visible; }
.pn-document-more-trigger:hover { background: color-mix(in srgb, var(--color-text) 6%, transparent); color: var(--color-accent-700); }
.pn-document-more-menu { position: absolute; z-index: 24; top: calc(100% + 3px); right: 0; width: 134px; padding: 4px; border: 1px solid color-mix(in srgb, var(--color-divider) 88%, transparent); background: color-mix(in srgb, var(--color-bg) 98%, white); box-shadow: 0 8px 16px rgba(25,23,20,.10); }
.pn-document-more-item { display: flex; width: 100%; border: 0; padding: 6px; background: transparent; color: var(--color-text); cursor: pointer; font: 400 11px/1.35 var(--pn-ui); text-align: left; }
.pn-document-more-item:hover { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-action-menu-item:disabled,.pn-template-menu-item:disabled { cursor: default; opacity: .42; }
.pn-document-more-project-trigger { align-items: center; justify-content: space-between; gap: 8px; }
.pn-document-more-project-arrow { margin-left: auto; color: color-mix(in srgb, var(--color-text) 52%, transparent); font: 16px/1 var(--pn-ui); }
.pn-document-more-project-trigger[aria-expanded="true"] { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-project-move-menu { position: fixed; z-index: 60; width: min(230px, calc(100vw - 24px)); max-height: min(300px, calc(100vh - 24px)); overflow: auto; border: 1px solid color-mix(in srgb, var(--color-divider) 88%, transparent); padding: 4px; background: color-mix(in srgb, var(--color-bg) 98%, white); box-shadow: 0 8px 16px rgba(25,23,20,.10); }
.pn-project-move-menu[hidden] { display: none; }
.pn-document-more-project-choice { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pn-document-more-project-empty { margin: 4px 6px; color: color-mix(in srgb, var(--color-text) 50%, transparent); font: italic 11px/1.45 var(--pn-ui); }
.pn-document-more-item.pn-document-danger { color: #8f3329; }
.pn-document-more-item.pn-document-danger:hover { background: color-mix(in srgb, #a94539 8%, transparent); color: #7e2820; }
.pn-document-rename { width: 100%; min-width: 0; border: 0; border-bottom: 1px solid var(--color-accent); border-radius: 0; padding: 5px 4px; outline: 0; background: transparent; color: var(--color-text); font: 400 13px/1.35 var(--pn-doc-body); }
.pn-document-rename-save,.pn-document-rename-cancel { flex: none; border: 0; padding: 5px 4px; background: transparent; cursor: pointer; font: 500 10px/1.25 var(--pn-ui); }
.pn-document-rename-save { color: var(--color-accent-700); }
.pn-document-rename-cancel { color: color-mix(in srgb, var(--color-text) 60%, transparent); }
.pn-library-empty { margin: 3px 4px; color: color-mix(in srgb, var(--color-text) 48%, transparent); font: italic 12px/1.45 var(--pn-doc-body); }
.pn-project-item { min-width: 0; padding: 1px 0 3px; }
.pn-project-heading { display: flex; min-width: 0; align-items: center; gap: 2px; }
.pn-project-open { min-width: 0; flex: 1; overflow: hidden; border: 0; border-left: 1px solid transparent; border-radius: 0; padding: 6px 4px; background: transparent; color: color-mix(in srgb, var(--color-text) 84%, transparent); cursor: pointer; font: 600 13px/1.35 var(--pn-doc-body); text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.pn-project-open:hover { color: var(--color-accent-700); }
.pn-project-item.is-active .pn-project-open { border-left-color: var(--color-accent); color: var(--color-text); }
.pn-project-heading:hover .pn-document-more-trigger,.pn-project-heading:focus-within .pn-document-more-trigger,.pn-project-more[open] .pn-document-more-trigger { opacity: 1; visibility: visible; }
/* Follow the outline's serif type and faint, square selection treatment. */
.pn-project-group { margin: 4px 0 0 8px; border-left: 1px solid color-mix(in srgb, var(--color-divider) 72%, transparent); padding-left: 10px; }
.pn-project-group .pn-document-item { padding-left: 0; }
.pn-project-group .pn-document-open { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; padding: 5px 6px; font-size: 13px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
.pn-project-group .pn-document-item.is-active .pn-document-open { border-left-color: transparent; background: color-mix(in srgb, var(--color-accent-100) 42%, transparent); color: var(--color-text); font-weight: 400; }
.pn-project-group .pn-library-subheading { margin-top: 6px; }
.pn-project-empty { margin-left: 13px; }
.pn-utility .btn { font-family: var(--pn-ui); font-weight: 400; letter-spacing: 0; }
.pn-detail .btn,.pn-modal .btn { font-family: var(--pn-ui); font-weight: 600; letter-spacing: 0; }
.pn-outline { max-height: calc(100vh - 158px); overflow: auto; }
.pn-outline-node { min-width: 0; }
.pn-outline-row { display: flex; min-width: 0; min-height: 29px; align-items: center; padding-left: calc(var(--pn-outline-level) * 13px); }
.pn-outline-disclosure,.pn-outline-disclosure-spacer { display: grid; width: 22px; height: 29px; flex: none; place-items: center; border: 0; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 44%, transparent); font: 14px/1 var(--pn-ui); }
.pn-outline-disclosure { cursor: pointer; transition: color .12s ease, transform .12s ease; }
.pn-outline-disclosure.is-expanded { transform: rotate(90deg); }
.pn-outline-disclosure:hover { color: var(--color-accent-700); }
.pn-outline-item { display: flex; min-width: 0; flex: 1; align-items: center; overflow: hidden; border: 0; border-left: 1px solid transparent; border-radius: 1px; padding: 4px 5px 4px 3px; background: transparent; color: color-mix(in srgb, var(--color-text) 78%, transparent); cursor: pointer; font: 400 14px/1.45 var(--pn-doc-body); letter-spacing: -.003em; text-align: left; }
.pn-outline-number { min-width: 25px; flex: none; color: var(--color-accent); font-family: var(--pn-doc-heading); font-size: 9pt; font-weight: 600; line-height: 1; letter-spacing: .12em; font-feature-settings: 'tnum'; }
.pn-outline-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pn-outline-item:hover { color: var(--color-accent-700); }
.pn-outline-item.is-active { background: color-mix(in srgb, var(--color-accent-100) 42%, transparent); color: var(--color-text); font-weight: 400; }
.pn-outline-more { display: grid; width: 22px; height: 24px; flex: none; place-items: center; border: 0; border-radius: 2px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 48%, transparent); cursor: pointer; font: 15px/1 var(--pn-ui); letter-spacing: -1px; opacity: 0; visibility: hidden; transition: opacity .12s ease, background .12s ease, color .12s ease; }
.pn-outline-row:hover .pn-outline-more,.pn-outline-row:focus-within .pn-outline-more { opacity: 1; visibility: visible; }
.pn-outline-more:hover,.pn-outline-more:focus-visible { background: color-mix(in srgb, var(--color-text) 6%, transparent); color: var(--color-accent-700); }
.pn-outline-children { position: relative; }
.pn-outline-children::before { position: absolute; top: 2px; bottom: 2px; left: calc((var(--pn-outline-level) * 13px) + 11px); width: 1px; background: color-mix(in srgb, var(--color-divider) 72%, transparent); content: ""; pointer-events: none; }
.pn-outline-children[hidden] { display: none; }

/* The Outline owns structure editing, but its menu appears only on intent so
   navigation stays quiet. Right-click and the row overflow both call the same
   command layer in document-editor.js. */
#pnOutlineMenu {
  position: fixed;
  z-index: 42;
  width: 216px;
  padding: 6px 0;
  border: 1px solid color-mix(in srgb, var(--color-divider) 92%, transparent);
  border-radius: 1px;
  background: color-mix(in srgb, var(--color-bg) 98%, white);
  box-shadow: 0 9px 22px rgba(25,23,20,.10);
}
#pnOutlineMenu[hidden] { display: none; }
.pn-outline-menu-item {
  display: flex;
  width: 100%;
  min-height: 31px;
  align-items: center;
  border: 0;
  border-radius: 0;
  padding: 6px 13px;
  background: transparent;
  color: color-mix(in srgb, var(--color-text) 88%, transparent);
  cursor: pointer;
  font: 400 13px/1.35 var(--pn-doc-body);
  letter-spacing: -.004em;
  text-align: left;
}
.pn-outline-menu-item:hover,.pn-outline-menu-item:focus-visible {
  outline: 0;
  background: color-mix(in srgb, var(--color-accent-100) 34%, transparent);
  color: var(--color-accent-700);
}
.pn-outline-menu-danger { color: color-mix(in srgb, #8e3528 82%, var(--color-text)); }
.pn-outline-menu-danger:hover,.pn-outline-menu-danger:focus-visible { background: color-mix(in srgb, #c85e4b 8%, transparent); color: #8e3528; }
.pn-outline-menu-rule { height: 1px; margin: 5px 13px; background: color-mix(in srgb, var(--color-divider) 76%, transparent); }
.pn-outline-menu-submenu-wrap { position: relative; }.pn-outline-menu-submenu-trigger { justify-content: space-between; }.pn-outline-menu-arrow { margin-left: auto; font-size: 15px; }
.pn-outline-menu-submenu { position: absolute; z-index: 1; top: -6px; left: calc(100% - 1px); display: none; width: 188px; padding: 6px 0; border: 1px solid color-mix(in srgb, var(--color-divider) 92%, transparent); border-radius: 1px; background: color-mix(in srgb, var(--color-bg) 98%, white); box-shadow: 0 9px 22px rgba(25,23,20,.10); }
.pn-outline-menu-submenu-wrap.is-open .pn-outline-menu-submenu,.pn-outline-menu-submenu-wrap:hover .pn-outline-menu-submenu,.pn-outline-menu-submenu-wrap:focus-within .pn-outline-menu-submenu { display: block; }
.pn-undo-toast { position: fixed; z-index: 41; right: 22px; bottom: 20px; display: flex; max-width: min(360px, calc(100vw - 32px)); align-items: center; gap: 12px; border: 1px solid color-mix(in srgb, var(--color-divider) 88%, transparent); border-radius: 2px; padding: 8px 9px 8px 12px; background: color-mix(in srgb, var(--color-bg) 98%, white); box-shadow: 0 10px 24px rgba(25,23,20,.14); color: color-mix(in srgb, var(--color-text) 78%, transparent); font: 11px/1.35 var(--pn-ui); }
.pn-undo-toast[hidden] { display: none; }.pn-undo-button { border: 0; border-bottom: 1px solid var(--color-accent); padding: 2px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 600 11px/1.25 var(--pn-ui); }
.pn-empty-outline { margin: 0; color: color-mix(in srgb, var(--color-text) 45%, transparent); font: 11px/1.5 var(--pn-ui); }

.pn-canvas-pane { min-width: 0; overflow: auto; background: color-mix(in srgb, var(--color-surface) 74%, var(--color-bg)); }
.pn-project-landing { width: min(760px, calc(100% - 56px)); box-sizing: border-box; margin: 48px auto 80px; padding: 54px 58px 60px; background: var(--color-bg); box-shadow: 0 1px 5px rgba(25,23,20,.10); color: var(--color-text); font-family: var(--pn-doc-body); }
.pn-project-landing[hidden] { display: none; }
.pn-project-landing-kicker { margin: 0 0 13px; color: var(--color-accent); font: 600 10px/1.3 var(--pn-ui); letter-spacing: .15em; text-transform: uppercase; }
.pn-project-landing-title { margin: 0; font: 400 clamp(31px,5vw,48px)/1.08 var(--pn-doc-heading); letter-spacing: -.02em; }
.pn-project-landing-summary { max-width: 620px; margin: 18px 0 26px; color: color-mix(in srgb, var(--color-text) 68%, transparent); font: 400 15px/1.65 var(--pn-doc-body); }
.pn-project-landing-new { border: 0; border-bottom: 1px solid var(--color-accent); padding: 3px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 600 12px/1.35 var(--pn-ui); }
.pn-project-landing-section { margin-top: 42px; border-top: 1px solid var(--color-divider); padding-top: 16px; }
.pn-project-landing-section h2 { margin: 0 0 10px; color: color-mix(in srgb, var(--color-text) 58%, transparent); font: 600 10px/1.3 var(--pn-ui); letter-spacing: .1em; text-transform: uppercase; }
.pn-project-landing-list { display: grid; gap: 2px; }
.pn-project-landing-document { display: flex; width: 100%; align-items: baseline; justify-content: space-between; gap: 12px; border: 0; padding: 7px 0; background: transparent; color: var(--color-text); cursor: pointer; font: 400 16px/1.4 var(--pn-doc-body); text-align: left; }
.pn-project-landing-document:hover { color: var(--color-accent-700); }
.pn-project-landing-document-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pn-project-landing-document-meta { flex: none; color: color-mix(in srgb, var(--color-text) 45%, transparent); font: 500 10px/1.3 var(--pn-ui); letter-spacing: .05em; text-transform: uppercase; }
.pn-canvas-pane > doc-page {
  --doc-page-host-min-width: 0;
  --doc-page-stage: color-mix(in srgb, var(--color-surface) 74%, var(--color-bg));
  --doc-page-stage-padding: 32px 28px 72px;
  --pn-canvas-stage-x: 28px;
  /* 8.5in with 0.85in side margins gives the original 6.8in text measure. */
  --doc-page-screen-w: var(--pn-doc-page-width);
  --doc-page-screen-scale: 1;
  --doc-page-sheet-shadow: 0 1px 5px rgba(25, 23, 20, .10);
  --doc-page-sheet-radius: 4px;
}
.pn-page-chrome { display: flex; justify-content: space-between; color: color-mix(in srgb, var(--color-text) 52%, transparent); font-family: var(--pn-doc-heading); font-size: 8pt; font-weight: 600; letter-spacing: .14em; }
.pn-page-chrome[hidden] { display: none; }
.pn-proofnote-running { align-items: baseline; padding-bottom: 6pt; border-bottom: 1px solid var(--color-divider); text-transform: uppercase; }
.pn-proofnote-running .pn-running-brand { color: var(--color-accent); }
.pn-proofnote-running .pn-running-type { color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.pn-project-running { align-items: baseline; padding-bottom: 6pt; border-bottom: 1px solid var(--color-divider); text-transform: uppercase; }
.pn-running-input { width: min(46%, 260px); border: 0; border-radius: 0; padding: 0; outline: 0; background: transparent; box-shadow: inset 0 -1px 0 transparent; color: color-mix(in srgb, var(--color-text) 52%, transparent); font: inherit; line-height: 1; letter-spacing: inherit; text-transform: inherit; }
.pn-running-input:hover,.pn-running-input:focus { box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--color-accent) 72%, transparent); color: var(--color-accent-700); }
.pn-running-left { color: var(--color-accent); text-align: left; }
.pn-running-right { text-align: right; }
.pn-page-footer { align-items: baseline; padding-top: 6pt; border-top: 1px solid var(--color-divider); font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.pn-page-footer > span:last-child { color: var(--color-accent-700); }
.pn-footer-name { min-width: 3ch; outline: 0; }
.pn-footer-name-editable { cursor: text; white-space: nowrap; }
.pn-footer-name-editable:hover,.pn-footer-name-editable:focus { box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--color-accent) 72%, transparent); color: var(--color-accent-700); }
.pn-document { padding: 20pt 0 14pt; color: var(--color-text); font-family: var(--pn-doc-body); font-size: var(--pn-doc-body-size); line-height: var(--pn-doc-body-leading); }
/* A Blank Project is a long-form note, not a smaller generic canvas. These
 * values intentionally restore the original Proofnote reading measure while
 * leaving the specialised Proof Note and imported documents untouched. */
.pn-project-document {
  --pn-doc-body-size: 12.75pt;
  --pn-doc-body-leading: 1.68;
  --pn-doc-title-size: 31.5pt;
  --pn-doc-summary-size: 15pt;
  --pn-doc-section-1-size: 21pt;
  --pn-doc-section-2-size: 16.5pt;
  --pn-doc-section-3-size: 13.5pt;
}

.pn-canvas-block { position: relative; margin: 0 -10px; padding: 0 10px; border-left: 2px solid transparent; border-radius: 3px; transition: background .14s ease, border-color .14s ease; }
.pn-canvas-block:hover,.pn-canvas-block.pn-focused { border-left-color: color-mix(in srgb, var(--color-accent) 58%, transparent); background: color-mix(in srgb, var(--color-accent-100) 22%, transparent); }
.pn-canvas-block:focus-within,.pn-canvas-block.is-selected { border-left-color: var(--color-accent); background: color-mix(in srgb, var(--color-accent-100) 34%, transparent); }
.pn-canvas-grip,.pn-canvas-overflow { position: absolute; z-index: 2; display: grid; width: 22px; height: 24px; place-items: center; border: 0; border-radius: 4px; padding: 0; background: var(--color-bg); color: color-mix(in srgb, var(--color-text) 52%, transparent); cursor: pointer; font: 13px/1 var(--pn-mono); opacity: 0; visibility: hidden; transition: opacity .12s; }
.pn-canvas-grip { top: 5px; left: -29px; letter-spacing: -4px; }
.pn-canvas-overflow { top: 5px; right: -29px; font-size: 16px; }
.pn-canvas-block:hover .pn-canvas-grip,.pn-canvas-block:hover .pn-canvas-overflow,.pn-canvas-block:focus-within .pn-canvas-grip,.pn-canvas-block:focus-within .pn-canvas-overflow,.pn-canvas-block.is-selected .pn-canvas-grip,.pn-canvas-block.is-selected .pn-canvas-overflow { opacity: 1; visibility: visible; }
.pn-canvas-grip:hover,.pn-canvas-overflow:hover { color: var(--color-accent-700); background: var(--color-surface); }
.pn-canvas-content { min-width: 0; }
.pn-document-canvas .pn-field { display: block; min-width: 0; }
.pn-document-canvas .pn-field-label { display: none; }
.pn-document-canvas .input { width: 100%; min-width: 0; min-height: 0; appearance: none; -webkit-appearance: none; border: 0; border-radius: 0; padding: 0; outline: 0; background: transparent; color: var(--color-text); box-shadow: none; line-height: inherit; }
.pn-document-canvas textarea { resize: none; overflow: hidden; }
/* The legacy design system gives every `.input` textarea a 90px minimum.
 * On the paper that turns a one-line title into a form field, so reset it
 * before applying each typography preset's intentional writing height. */
.pn-document-canvas textarea.pn-canvas-input { min-height: 0; }
.pn-document-canvas textarea.pn-canvas-title-input { min-height: 34pt; }
.pn-document-canvas textarea.pn-canvas-subtitle-input { min-height: 24pt; }
.pn-document-canvas textarea.pn-canvas-heading-input { min-height: 22pt; }
.pn-document-canvas textarea.pn-canvas-paragraph-input { min-height: 1.6em; }
.pn-document-canvas textarea.pn-canvas-equation-input { min-height: 2.8em; }
.pn-document-canvas textarea.pn-canvas-code-input { min-height: 8em; }
.pn-document-canvas textarea.pn-canvas-table-input { min-height: 1.5em; }
.pn-document-canvas textarea.pn-canvas-quote-input { min-height: 2.8em; }
.pn-document-canvas textarea.pn-canvas-component-body-input { min-height: 2.7em; }
.pn-document-canvas textarea.pn-canvas-component-summary-input { min-height: 1.7em; }
.pn-document-canvas textarea.pn-canvas-list-input { min-height: 1.45em; }
.pn-document-canvas textarea.pn-canvas-stat-body-input { min-height: 1.4em; }

/* Reading comes first on the paper. Rich text fields use the same inline
 * renderer as an export while quiet; selecting their block reveals the single
 * native textarea in place for editing. This deliberately avoids a mirrored
 * code-editor layer and its fragile caret/scroll synchronisation. */
.pn-canvas-rich-field { display: block; min-width: 0; }
.pn-canvas-rich-preview { display: block; min-height: 1.6em; cursor: text; outline: 0; }
.pn-canvas-rich-preview:focus-visible { box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--color-accent) 74%, transparent); }
.pn-canvas-rich-preview p { margin: 0; }
.pn-canvas-rich-preview p + p { margin-top: 10pt; }
.pn-canvas-rich-placeholder { color: color-mix(in srgb, var(--color-text) 42%, transparent); }
.pn-canvas-rich-field > .pn-field { display: none; }
.pn-canvas-block.is-selected .pn-canvas-rich-field > .pn-field,
.pn-canvas-block:focus-within .pn-canvas-rich-field > .pn-field { display: block; }
.pn-canvas-block.is-selected .pn-canvas-rich-preview,
.pn-canvas-block:focus-within .pn-canvas-rich-preview { display: none; }
.pn-canvas-paragraph-preview { font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }
.pn-canvas-component-body-preview { min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }
.pn-canvas-component-summary-preview { margin-top: 4pt; color: color-mix(in srgb, var(--color-text) 74%, transparent); font: italic 11pt/1.5 var(--pn-doc-body); }
.pn-editorial-section-body-preview { min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }
.pn-editorial-section-summary-preview,.pn-editorial-detail-summary-preview { margin-top: 4pt; color: color-mix(in srgb, var(--color-text) 72%, transparent); font: italic 11pt/1.5 var(--pn-doc-body); }
.pn-editorial-detail-body-preview { min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }
.pn-canvas-quote-preview { min-height: 2.8em; color: inherit; font: inherit; font-style: inherit; }
.pn-canvas-list-preview { min-height: 1.45em; font: inherit; line-height: inherit; }

.pn-document-title { margin: 0 0 11pt; padding-bottom: 14pt; border-bottom: 1px solid var(--color-divider); }
.pn-canvas-title-input { display: block; min-height: 34pt; font: 400 var(--pn-doc-title-size)/var(--pn-doc-title-leading) var(--pn-doc-heading); letter-spacing: -.02em; }
.pn-document-subtitle { margin: -2pt 0 19pt; color: color-mix(in srgb, var(--color-text) 72%, transparent); font-family: var(--pn-doc-heading); font-size: var(--pn-doc-summary-size); font-style: italic; line-height: var(--pn-doc-summary-leading); }
.pn-canvas-subtitle-input { display: block; min-height: 24pt; color: inherit !important; font: italic var(--pn-doc-summary-size)/var(--pn-doc-summary-leading) var(--pn-doc-heading); }
/* Documents with the editorial masthead keep the title, subtitle, and
 * metadata as one composed unit.  The rule belongs after the subtitle—not
 * after the title—so Projects inherit the same rhythm as Proof Notes. */
.pn-proofnote-document .pn-document-title,.pn-project-document .pn-document-title { margin: 0 0 10pt; padding-bottom: 0; border-bottom: 0; }
.pn-proofnote-document .pn-document-subtitle,.pn-project-document .pn-document-subtitle { margin: 0; padding-bottom: 18pt; border-bottom: 1px solid var(--color-divider); }
.pn-proof-metadata { margin: 10pt 0 20pt; }
.pn-proof-metadata.pn-canvas-block { margin: 10pt -10px 20pt; padding: 0 10px; outline: 0; }
.pn-proof-metadata-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10pt 16pt; margin: 0; }
.pn-proof-metadata-item,.pn-proof-source { min-width: 0; }
.pn-proof-metadata-item dt,.pn-proof-source dt { margin: 0 0 2pt; color: color-mix(in srgb, var(--color-text) 54%, transparent); font-family: var(--pn-doc-heading); font-size: var(--pn-doc-label-size); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.pn-proof-metadata-item dd,.pn-proof-source dd { margin: 0; }
.pn-proof-metadata-input { display: block; color: var(--color-text) !important; font: var(--pn-doc-meta-size)/1.45 var(--pn-doc-body); font-feature-settings: 'tnum'; }
.pn-proof-metadata-input::placeholder { color: color-mix(in srgb, var(--color-text) 42%, transparent); }
.pn-proof-metadata-status-input { color: var(--color-accent-700) !important; font-family: var(--pn-doc-heading); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.pn-proof-source { margin: 9pt 0 0; }.pn-proof-source-input { display: block; font: var(--pn-doc-meta-size)/1.45 var(--pn-doc-body); }
.pn-heading { margin: 24pt 0 9.5pt; padding-bottom: 6pt; border-bottom: 1px solid var(--color-divider); break-after: avoid-page; page-break-after: avoid; }
.pn-canvas-heading-input { display: block; min-height: 22pt; font-family: var(--pn-doc-heading); font-weight: 400; letter-spacing: -.015em; }
.pn-canvas-heading-1 .pn-canvas-heading-input { font-size: var(--pn-doc-section-1-size); line-height: 1.18; }
.pn-canvas-heading-2 .pn-canvas-heading-input { font-size: var(--pn-doc-section-2-size); line-height: 1.24; }
.pn-canvas-heading-3 .pn-canvas-heading-input { font-size: var(--pn-doc-section-3-size); line-height: 1.3; font-weight: 600; }
.pn-canvas-block.pn-canvas-paragraph { margin: 0 -10px 11pt; }
.pn-canvas-paragraph-content { margin: 0; }
.pn-canvas-paragraph-input { display: block; min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }
.pn-equation { overflow-x: auto; margin: 12pt 0; }
.pn-canvas-equation-input { display: block; min-height: 2.8em; padding: 9pt 0 !important; font: 10pt/1.55 ui-monospace, Menlo, Consolas, monospace; }
.pn-equation-preview { margin: 2pt 0 9pt; padding: 8pt 10pt; overflow-x: auto; border-top: 1px solid color-mix(in srgb, var(--color-divider) 78%, transparent); color: color-mix(in srgb, var(--color-text) 86%, transparent); font-size: 11pt; }
.pn-equation-preview[hidden] { display: none; }
.pn-code { position: relative; margin: 12pt 0; padding: 23pt 10pt 10pt; overflow: auto; border: 1px solid var(--color-divider); border-radius: var(--radius-md); background: var(--color-surface); white-space: pre-wrap; word-break: break-word; }
.pn-code-language { position: absolute; top: 7pt; left: 10pt; color: color-mix(in srgb, var(--color-text) 55%, transparent); font: 600 7.5pt var(--pn-doc-heading); letter-spacing: .13em; }
.pn-canvas-code-input { display: block; min-height: 8em; font: 9pt/1.65 ui-monospace, Menlo, Consolas, monospace; }
.pn-canvas-code-print { display: none; margin: 0; white-space: pre-wrap; word-break: break-word; font: 9pt/1.65 ui-monospace, Menlo, Consolas, monospace; }
.pn-code-copy { position: absolute; top: 5pt; right: 7pt; display: grid; width: 24px; height: 24px; place-items: center; border: 0; border-radius: 3px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 52%, transparent); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .12s ease, color .12s ease, background .12s ease; }
.pn-canvas-block:hover .pn-code-copy,.pn-canvas-block:focus-within .pn-code-copy,.pn-canvas-block.is-selected .pn-code-copy { opacity: 1; visibility: visible; }
.pn-code-copy:hover,.pn-code-copy:focus-visible { outline: 0; background: color-mix(in srgb, var(--color-accent-100) 48%, transparent); color: var(--color-accent-700); }
.pn-code-copy-icon { width: 14px; height: 14px; overflow: visible; }
.pn-code-copy.is-copied { color: #6f7d52; animation: pn-code-copy-confirm .34s cubic-bezier(.2,.9,.3,1.25); }
@keyframes pn-code-copy-confirm { 0% { transform: scale(.72); opacity: .45; } 68% { transform: scale(1.15); opacity: 1; } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .pn-code-copy.is-copied { animation: none; } }
.pn-table-wrap { overflow: auto; margin: 12pt 0; }
.pn-table { width: 100%; border-collapse: collapse; font-size: 10.5pt; }
.pn-table th,.pn-table td { position: relative; padding: 6pt 8pt; border: 1px solid var(--color-divider); text-align: left; vertical-align: top; }
.pn-table th { background: var(--color-surface); font-family: var(--pn-doc-heading); font-weight: 600; }
.pn-canvas-table .pn-field { display: block; }.pn-canvas-table-input { min-height: 1.5em; padding-right: 12px !important; font: inherit; }.pn-table-column-remove,.pn-table-row-remove { position: absolute; z-index: 1; display: grid; width: 16px; height: 16px; place-items: center; border: 0; border-radius: 2px; padding: 0; background: var(--color-bg); color: color-mix(in srgb, var(--color-text) 48%, transparent); cursor: pointer; font: 13px/1 var(--pn-ui); opacity: 0; visibility: hidden; transition: opacity .12s ease, color .12s ease; }.pn-table-column-remove { top: 4px; right: 4px; }.pn-table-row-remove { top: 50%; right: 3px; transform: translateY(-50%); }.pn-canvas-block:hover .pn-table-column-remove,.pn-canvas-block:hover .pn-table-row-remove,.pn-canvas-block:focus-within .pn-table-column-remove,.pn-canvas-block:focus-within .pn-table-row-remove,.pn-canvas-block.is-selected .pn-table-column-remove,.pn-canvas-block.is-selected .pn-table-row-remove { opacity: 1; visibility: visible; }.pn-table-column-remove:hover,.pn-table-row-remove:hover { color: #8e3528; }
.pn-image { margin: 15pt 0; }.pn-image img { display: block; max-width: 100%; height: auto; }.pn-image figcaption,.pn-quote figcaption { margin-top: 5pt; color: color-mix(in srgb, var(--color-text) 60%, transparent); font-size: 9.5pt; }.pn-image-empty { margin: 12pt 0; padding: 10pt; border: 1px dashed var(--color-divider); color: color-mix(in srgb, var(--color-text) 58%, transparent); font-size: 9.5pt; }.pn-canvas-image-caption { display: block; margin-top: 5pt; }.pn-canvas-image-caption-input { display: block; color: color-mix(in srgb, var(--color-text) 64%, transparent) !important; font: italic 9.5pt/1.45 var(--pn-doc-body); }.pn-canvas-image-caption:has(.pn-canvas-image-caption-input:placeholder-shown) { display: none; }.pn-canvas-block.is-selected .pn-canvas-image-caption:has(.pn-canvas-image-caption-input:placeholder-shown),.pn-canvas-block:focus-within .pn-canvas-image-caption:has(.pn-canvas-image-caption-input:placeholder-shown) { display: block; }.pn-image-picker { margin: -6pt 0 10pt; }.pn-canvas-block:not(:hover):not(:focus-within):not(.is-selected) .pn-canvas-image ~ .pn-image-picker { opacity: 0; visibility: hidden; pointer-events: none; }.pn-canvas-block:hover .pn-canvas-image ~ .pn-image-picker,.pn-canvas-block:focus-within .pn-canvas-image ~ .pn-image-picker,.pn-canvas-block.is-selected .pn-canvas-image ~ .pn-image-picker { opacity: 1; visibility: visible; pointer-events: auto; }.pn-image-empty + .pn-image-picker { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
.pn-quote { margin: 15pt 0; padding: 2pt 0 2pt 14pt; border-left: 3px solid var(--color-accent); }.pn-quote blockquote { margin: 0; font-family: var(--pn-doc-heading); font-size: 16pt; font-style: italic; line-height: 1.42; }.pn-canvas-quote-input { display: block; min-height: 2.8em; color: inherit !important; font: inherit; font-style: inherit; }
.pn-divider { margin: 24pt 0; border: 0; border-top: 1px solid var(--color-divider); }.pn-page-break { height: 0; break-before: page; page-break-before: always; }.pn-canvas-page-break { height: auto; margin: 16pt 0; border-top: 1px dashed var(--color-divider); color: color-mix(in srgb, var(--color-text) 45%, transparent); font-size: 8pt; line-height: 0; text-align: center; }.pn-canvas-page-break::first-line { line-height: 1; }
.pn-semantic { margin: 10pt 0; padding: 10.25pt; border: 1px solid color-mix(in srgb, var(--color-accent-300) 48%, white); border-radius: var(--radius-md); background: color-mix(in srgb, var(--color-accent-100) 52%, white); break-inside: avoid; page-break-inside: avoid; }
.pn-editorial-section { margin: 0 0 21pt; }
/* Keep the folio/title joined to the first paragraph, never an entire long
 * chapter. A semantic section can legitimately span many printed pages. */
.pn-editorial-section-head { display: flex; align-items: baseline; gap: 10pt; margin-bottom: 10pt; padding-bottom: 6pt; border-bottom: 1px solid var(--color-divider); break-after: avoid-page; page-break-after: avoid; }
.pn-editorial-section-number { flex: none; color: var(--color-accent); font-family: var(--pn-doc-heading); font-size: 9pt; font-weight: 600; letter-spacing: .12em; font-feature-settings: 'tnum'; }
.pn-editorial-section-title { flex: 1; min-width: 0; }.pn-editorial-section-title-input { display: block; min-height: 1.15em; font: 400 var(--pn-doc-section-1-size)/1.15 var(--pn-doc-heading); letter-spacing: -.015em; }
.pn-editorial-section > p { margin: 0 0 10pt; }.pn-editorial-section-head + .pn-editorial-section-body { break-before: avoid-page; page-break-before: avoid; }.pn-editorial-section-body-input { display: block; min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }.pn-editorial-section-summary-input { display: block; margin-top: 4pt; color: color-mix(in srgb, var(--color-text) 72%, transparent) !important; font: italic 11pt/1.5 var(--pn-doc-body); }
.pn-editorial-detail { margin: 0 0 12pt; }.pn-editorial-detail .pn-component-label { margin-bottom: 3pt; color: color-mix(in srgb, var(--color-text) 55%, transparent); break-after: avoid-page; page-break-after: avoid; }.pn-editorial-detail-title { break-after: avoid-page; page-break-after: avoid; }.pn-editorial-detail-title + .pn-editorial-detail-body { break-before: avoid-page; page-break-before: avoid; }.pn-editorial-detail-title-input { display: block; min-height: 1.25em; margin-bottom: 3pt; font: 400 14pt/1.2 var(--pn-doc-heading); }.pn-editorial-detail-body-input { display: block; min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }.pn-editorial-detail-summary-input { display: block; margin-top: 4pt; color: color-mix(in srgb, var(--color-text) 72%, transparent) !important; font: italic 11pt/1.5 var(--pn-doc-body); }
.pn-callout { margin: 13pt 0; padding: 4pt 0 4pt 14pt; border-left: 2px solid var(--color-accent-400); break-inside: avoid; page-break-inside: avoid; }
.pn-project-document .pn-proof-metadata { margin: 12pt 0 27pt; }
.pn-project-document .pn-editorial-section { margin-bottom: 36pt; }
.pn-project-document .pn-editorial-section-head { margin-bottom: 13.5pt; padding-bottom: 6pt; }
.pn-project-document .pn-editorial-section > p { margin-bottom: 11.25pt; }
/* Cards are reserved for genuinely emphatic semantic content. When a Project
 * does use one, it should read as an intentional theorem/result surface, not
 * a faint generic component. Introduction itself renders editorially. */
.pn-project-document .pn-semantic { margin: 15pt 0; padding: 15pt 16.5pt; border-color: #facb8d; background: #fff3e4; }
.pn-callout-warning { border-left-color: #d8a846; }.pn-callout-info { border-left-color: #8aa2cc; }.pn-component-label { margin-bottom: 5pt; color: var(--color-accent-800); font-family: var(--pn-doc-heading); font-size: var(--pn-doc-label-size); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.pn-canvas-component-title-input { display: block; min-height: 1.25em; font: 400 var(--pn-doc-section-1-size)/1.15 var(--pn-doc-heading); }.pn-canvas-component-body-input { display: block; min-height: 1.6em; font: var(--pn-doc-body-size)/var(--pn-doc-body-leading) var(--pn-doc-body); }.pn-canvas-component-summary-input { display: block; min-height: 1.55em; margin-top: 4pt; color: color-mix(in srgb, var(--color-text) 74%, transparent) !important; font: italic 11pt/1.5 var(--pn-doc-body); }.pn-canvas-component-summary-input::placeholder { color: color-mix(in srgb, var(--color-text) 38%, transparent); font-style: italic; }.pn-component-add-summary { margin: 5pt 0 0; border: 0; border-bottom: 1px solid transparent; padding: 2px 0; background: transparent; color: color-mix(in srgb, var(--color-text) 50%, transparent); cursor: pointer; font: 400 9.5px/1.3 var(--pn-ui); opacity: 0; visibility: hidden; transition: opacity .12s ease, color .12s ease; }.pn-canvas-block:hover .pn-component-add-summary,.pn-canvas-block:focus-within .pn-component-add-summary,.pn-canvas-block.is-selected .pn-component-add-summary { opacity: 1; visibility: visible; }.pn-component-add-summary:hover,.pn-component-add-summary:focus-visible { outline: 0; border-bottom-color: var(--color-accent); color: var(--color-accent-700); }
.pn-list { margin: 10pt 0; padding-left: 19pt; }.pn-list li { margin-bottom: 3pt; }
/* List rows should read as ordinary text; the only editing affordance is a
 * row-local remove action that stays aligned with the first line. */
.pn-canvas-list { margin: 7pt 0 0; padding-left: 18pt; }.pn-canvas-list-row { position: relative; min-height: 1.6em; margin-bottom: 2px; padding: 0 25px 0 0; }.pn-canvas-list-field { display: block; min-width: 0; }.pn-canvas-list-input { display: block; min-height: 1.6em !important; font: inherit; line-height: inherit; }.pn-canvas-list-row > .pn-collection-remove { position: absolute; top: .12em; right: 1px; }.pn-canvas-block:hover .pn-canvas-list-row > .pn-collection-remove,.pn-canvas-block:focus-within .pn-canvas-list-row > .pn-collection-remove,.pn-canvas-block.is-selected .pn-canvas-list-row > .pn-collection-remove { opacity: 0; visibility: hidden; }.pn-canvas-block:hover .pn-canvas-list-row:hover > .pn-collection-remove,.pn-canvas-block:focus-within .pn-canvas-list-row:focus-within > .pn-collection-remove { opacity: 1; visibility: visible; }.pn-canvas-list + .pn-collection-tools { min-height: 18px; margin: 3px 0 5px 2px; }.pn-canvas-list + .pn-collection-tools .pn-collection-action { color: color-mix(in srgb, var(--color-text) 48%, transparent); font-size: 9.5px; font-weight: 400; }
.pn-key-value { margin: 12pt 0; font-size: var(--pn-doc-meta-size); }.pn-key-value > div { display: grid; grid-template-columns: 112pt minmax(0,1fr) 18px; gap: 7pt; margin-bottom: 5pt; }.pn-key-value dt { color: color-mix(in srgb, var(--color-text) 52%, transparent); font-family: var(--pn-doc-heading); font-size: var(--pn-doc-label-size); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }.pn-key-value dd { margin: 0; }.pn-canvas-key-input { font: inherit; letter-spacing: inherit; text-transform: inherit; }.pn-canvas-value-input { font: inherit; }
.pn-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(110pt,1fr)); gap: 8pt; margin: 12pt 0; }.pn-stat { position: relative; padding: 10pt; border: 1px solid var(--color-divider); border-radius: var(--radius-md); background: var(--color-surface); }.pn-canvas-stat-kicker-input { display: block; color: color-mix(in srgb, var(--color-text) 52%, transparent) !important; font: 600 8pt var(--pn-doc-heading); letter-spacing: .11em; text-transform: uppercase; }.pn-canvas-stat-value-input { display: block; margin: 3pt 0; font: 400 21pt var(--pn-doc-heading); }.pn-canvas-stat-body-input { display: block; min-height: 1.4em; font-size: 9.5pt; }
.pn-collection-tools { display: flex; min-height: 22px; align-items: center; gap: 8px; margin: -4pt 0 9pt; opacity: 0; visibility: hidden; transition: opacity .12s ease; }.pn-canvas-block:hover .pn-collection-tools,.pn-canvas-block:focus-within .pn-collection-tools,.pn-canvas-block.is-selected .pn-collection-tools { opacity: 1; visibility: visible; }.pn-collection-action { border: 0; border-bottom: 1px solid transparent; padding: 2px 0; background: transparent; color: color-mix(in srgb, var(--color-text) 55%, transparent); cursor: pointer; font: 500 10px/1.3 var(--pn-ui); }.pn-collection-action:hover { border-bottom-color: var(--color-accent); color: var(--color-accent-700); }.pn-collection-remove { display: grid; width: 17px; height: 17px; place-items: center; border: 0; border-radius: 2px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 42%, transparent); cursor: pointer; font: 13px/1 var(--pn-ui); opacity: 0; visibility: hidden; transition: opacity .12s ease, color .12s ease; }.pn-canvas-block:hover .pn-collection-remove,.pn-canvas-block:focus-within .pn-collection-remove,.pn-canvas-block.is-selected .pn-collection-remove { opacity: 1; visibility: visible; }.pn-collection-remove:hover { background: color-mix(in srgb, #c85e4b 8%, transparent); color: #8e3528; }.pn-stat > .pn-collection-remove { position: absolute; top: 4px; right: 4px; }

.pn-insert-point { position: relative; z-index: 3; display: grid; min-height: 15px; place-items: center; margin: -2px 0; }.pn-insert-trigger { min-width: 22px; height: 20px; border: 0; border-radius: 10px; padding: 0 6px; background: var(--color-bg); color: color-mix(in srgb, var(--color-text) 54%, transparent); cursor: pointer; font: 500 11px/1 var(--pn-ui); opacity: 0; visibility: hidden; transition: opacity .12s, color .12s; }.pn-canvas-block:hover + .pn-insert-point .pn-insert-trigger,.pn-canvas-block:focus-within + .pn-insert-point .pn-insert-trigger,.pn-insert-point:focus-within .pn-insert-trigger,.pn-insert-last .pn-insert-trigger { opacity: 1; visibility: visible; }.pn-insert-trigger:hover { color: var(--color-accent-700); }.pn-insert-last { min-height: 44px; margin-top: 10pt; }.pn-insert-last .pn-insert-trigger { min-width: 104px; margin-top: 12px; }.pn-insert-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(390px, 100%); gap: 4px; padding: 8px; border: 1px solid var(--color-divider); border-radius: 6px; background: var(--color-bg); box-shadow: 0 8px 22px rgba(25,23,20,.12); }.pn-insert-choice,.pn-insert-cancel { border: 0; border-radius: 3px; padding: 6px; background: transparent; color: var(--color-text); cursor: pointer; font: 500 10px/1.3 var(--pn-ui); text-align: left; }.pn-insert-choice:hover { background: color-mix(in srgb, var(--color-accent-100) 58%, transparent); color: var(--color-accent-800); }.pn-insert-cancel { color: color-mix(in srgb, var(--color-text) 58%, transparent); }

.pn-inspector-section { min-height: 100%; }
.pn-inspector-topline { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.pn-inspector-topline .pn-utility-title { margin: 0; color: color-mix(in srgb, var(--color-text) 48%, transparent); font: 600 10px/1.2 var(--pn-ui); letter-spacing: .045em; text-transform: uppercase; }
.pn-close-inspector { display: grid; width: 25px; height: 25px; place-items: center; border: 0; border-radius: 2px; padding: 0; background: transparent; color: color-mix(in srgb, var(--color-text) 50%, transparent); cursor: pointer; font: 18px/1 var(--pn-ui); }
.pn-close-inspector:hover,.pn-close-inspector:focus-visible { outline: 0; background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-inspector-empty { margin: 0; color: color-mix(in srgb, var(--color-text) 57%, transparent); font: 400 12px/1.55 var(--pn-ui); }
.pn-inspector-context { display: flex; min-height: 30px; align-items: center; justify-content: space-between; margin-bottom: 8px; padding: 0 0 8px; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 76%, transparent); }
.pn-inspector-context-label { color: color-mix(in srgb, var(--color-text) 76%, transparent); font: 600 12px/1.3 var(--pn-ui); }
.pn-inspector-overflow { position: relative; }
.pn-inspector-overflow > summary { list-style: none; }.pn-inspector-overflow > summary::-webkit-details-marker { display: none; }
.pn-inspector-overflow-trigger { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 2px; color: color-mix(in srgb, var(--color-text) 54%, transparent); cursor: pointer; font: 700 15px/1 var(--pn-mono); letter-spacing: -1px; }
.pn-inspector-overflow-trigger:hover { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-inspector-overflow-menu { position: absolute; z-index: 4; top: calc(100% + 4px); right: 0; display: grid; width: 132px; padding: 4px; border: 1px solid color-mix(in srgb, var(--color-divider) 88%, transparent); border-radius: 2px; background: color-mix(in srgb, var(--color-bg) 99%, white); box-shadow: 0 7px 16px rgba(25,23,20,.10); }
.pn-inspector-overflow-item { border: 0; border-radius: 1px; padding: 6px 7px; background: transparent; color: color-mix(in srgb, var(--color-text) 80%, transparent); cursor: pointer; font: 400 11px/1.3 var(--pn-ui); text-align: left; }.pn-inspector-overflow-item:hover { background: color-mix(in srgb, var(--color-text) 5%, transparent); color: var(--color-accent-700); }
.pn-inspector-overflow-danger { color: #9a463a; }.pn-inspector-overflow-danger:hover { color: #8c2f24; background: #fff2ef; }
.pn-inspector-group { margin: 0; padding: 9px 0 8px; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 76%, transparent); }
.pn-inspector-group-title { margin: 0 0 3px; color: color-mix(in srgb, var(--color-text) 46%, transparent); font: 600 9.5px/1.25 var(--pn-ui); letter-spacing: .055em; text-transform: uppercase; }
.pn-inspector-toggle { display: grid; min-height: 29px; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 8px; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 58%, transparent); color: color-mix(in srgb, var(--color-text) 76%, transparent); cursor: pointer; font: 400 12px/1.3 var(--pn-ui); }
.pn-inspector-toggle:last-child { border-bottom: 0; }
.pn-inspector-toggle-label { min-width: 0; }
.pn-inspector-toggle-control { width: 22px; height: 13px; margin: 0 2px 0 0; appearance: none; -webkit-appearance: none; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--color-text) 21%, transparent); cursor: pointer; transition: background .14s ease; }
.pn-inspector-toggle-control::after { display: block; width: 9px; height: 9px; margin: 2px; border-radius: 999px; background: var(--color-bg); box-shadow: 0 1px 2px rgba(25,23,20,.18); content: ""; transform: translateX(0); transition: transform .14s ease; }
.pn-inspector-toggle-control:checked { background: var(--color-accent-700); }
.pn-inspector-toggle-control:checked::after { transform: translateX(9px); }
.pn-inspector-toggle-control:focus-visible { outline: 2px solid color-mix(in srgb, var(--color-accent) 65%, transparent); outline-offset: 2px; }
.pn-inspector-enable-metadata { justify-self: end; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 70%, transparent); padding: 3px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 500 11px/1.3 var(--pn-ui); }
.pn-inspector-enable-metadata:hover,.pn-inspector-enable-metadata:focus-visible { outline: 0; border-bottom-color: var(--color-accent); color: var(--color-accent); }
.pn-detail .pn-field { display: grid; grid-template-columns: minmax(74px, .82fr) minmax(0, 1.18fr); align-items: center; column-gap: 8px; min-height: 29px; margin: 0; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 58%, transparent); }
.pn-detail .pn-field:last-child { border-bottom: 0; }
.pn-detail .pn-field-label,.pn-inspector-property-label { overflow: hidden; color: color-mix(in srgb, var(--color-text) 55%, transparent); font: 400 11px/1.3 var(--pn-ui); letter-spacing: 0; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.pn-detail .input { width: 100%; min-height: 28px; border: 0; border-radius: 0; padding: 4px 0; outline: 0; background: transparent; color: var(--color-text); box-shadow: none; font: 400 12px/1.35 var(--pn-ui); text-align: right; }
.pn-detail .input::placeholder { color: color-mix(in srgb, var(--color-text) 42%, transparent); }
.pn-detail select.pn-input { appearance: none; -webkit-appearance: none; padding-right: 17px; background-image: linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--color-text) 50%, transparent) 50%), linear-gradient(135deg, color-mix(in srgb, var(--color-text) 50%, transparent) 50%, transparent 50%); background-position: calc(100% - 8px) calc(50% - 1px), calc(100% - 3px) calc(50% - 1px); background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.pn-detail textarea { min-height: 48px; resize: vertical; text-align: left; }
.pn-inspector-advanced { margin: 0; padding: 8px 0 7px; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 76%, transparent); }
.pn-inspector-advanced > summary { display: flex; min-height: 22px; align-items: center; justify-content: space-between; color: color-mix(in srgb, var(--color-text) 76%, transparent); cursor: pointer; font: 500 11.5px/1.35 var(--pn-ui); list-style: none; }
.pn-inspector-advanced > summary::-webkit-details-marker { display: none; }
.pn-inspector-advanced > summary::after { color: color-mix(in srgb, var(--color-text) 48%, transparent); content: "›"; font-size: 16px; line-height: 1; }
.pn-inspector-advanced[open] > summary::after { content: "⌄"; font-size: 14px; }
.pn-inspector-advanced .pn-field,.pn-inspector-advanced .pn-inspector-toggle { margin-top: 5px; border-bottom: 0; padding-left: 14px; }
.pn-inspector-advanced .pn-field { min-height: 27px; }
.pn-inspector-advanced .pn-inspector-toggle { color: color-mix(in srgb, var(--color-text) 55%, transparent); font: 400 11px/1.3 var(--pn-ui); }
.pn-inspector-property { display: grid; grid-template-columns: minmax(74px, .82fr) minmax(0, 1.18fr); align-items: center; column-gap: 8px; min-height: 28px; }.pn-inspector-action-row { border-top: 1px solid color-mix(in srgb, var(--color-divider) 58%, transparent); }.pn-inspector-property-controls { display: flex; justify-content: flex-end; gap: 9px; min-width: 0; }.pn-inspector-mini-action { border: 0; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 72%, transparent); padding: 2px 0; background: transparent; color: color-mix(in srgb, var(--color-text) 72%, transparent); cursor: pointer; font: 400 10px/1.3 var(--pn-ui); white-space: nowrap; }.pn-inspector-mini-action:hover { border-bottom-color: var(--color-accent); color: var(--color-accent-700); }.pn-inspector-mini-action.pn-danger { color: #8e3528; }
.pn-add-inline { align-self: flex-start; border: 0; border-bottom: 1px solid var(--color-accent); border-radius: 0; padding: 4px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 400 11px/1.35 var(--pn-ui); }.pn-add-inline:hover { color: var(--color-accent); }.pn-add-inline.pn-danger { border-bottom-color: color-mix(in srgb, #c85e4b 55%, var(--color-divider)); color: #8e3528; }

.pn-modal-backdrop { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(32,31,29,.38); }.pn-modal-backdrop[hidden] { display: none; }.pn-modal { width: min(610px,100%); padding: 20px; border: 1px solid var(--color-divider); border-radius: var(--radius-md); background: var(--color-bg); box-shadow: 0 18px 55px rgba(0,0,0,.2); }.pn-modal-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.pn-modal h2 { margin: 0; font-family: var(--font-heading); font-size: 24px; font-weight: 400; }.pn-close { border: 0; background: transparent; cursor: pointer; color: var(--color-text); font-size: 23px; }.pn-modal-copy { margin: 9px 0; color: color-mix(in srgb, var(--color-text) 65%, transparent); font-size: 12px; line-height: 1.5; }.pn-import-text { width: 100%; font: 11.5px/1.5 ui-monospace,Menlo,Consolas,monospace; }.pn-file-label { cursor: pointer; }.pn-import-editable-summary { margin: 10px 0 0; border-left: 2px solid color-mix(in srgb, var(--color-accent) 70%, var(--color-divider)); padding: 7px 9px; background: color-mix(in srgb, var(--color-accent) 6%, var(--color-bg)); color: color-mix(in srgb, var(--color-text) 72%, transparent); font-size: 11px; line-height: 1.48; }.pn-import-report { min-height: 18px; margin: 9px 0 0; color: #9f6814; font-size: 11px; line-height: 1.45; }.pn-import-message { margin: 0; }.pn-import-report.is-error { color: #8e3528; }.pn-import-report.is-diagnostic { max-height: min(340px,34vh); overflow: auto; margin-top: 12px; border: 1px solid color-mix(in srgb, #c85e4b 42%, var(--color-divider)); border-radius: 3px; padding: 12px; background: color-mix(in srgb, #fff7f5 74%, var(--color-bg)); color: color-mix(in srgb, var(--color-text) 84%, transparent); }.pn-import-diagnostic-title { display: block; color: #8e3528; font: 600 9px/1.2 var(--pn-ui); letter-spacing: .1em; text-transform: uppercase; }.pn-import-diagnostic-heading { margin: 5px 0 0; font-family: var(--pn-doc-heading); font-size: 18px; font-weight: 600; line-height: 1.2; }.pn-import-diagnostic-position { margin: 4px 0 0; color: color-mix(in srgb, var(--color-text) 58%, transparent); font: 600 10px/1.35 var(--pn-ui); }.pn-import-diagnostic-message,.pn-import-diagnostic-help { margin: 8px 0 0; font-size: 11px; line-height: 1.5; }.pn-import-diagnostic-snippet { margin: 10px 0 0; overflow: auto; border: 1px solid color-mix(in srgb, var(--color-divider) 82%, transparent); border-radius: 2px; padding: 8px 9px; background: color-mix(in srgb, var(--color-surface) 82%, var(--color-bg)); color: var(--color-text); cursor: pointer; font: 10.5px/1.48 ui-monospace,Menlo,Consolas,monospace; white-space: pre; }.pn-import-diagnostic-snippet:hover,.pn-import-diagnostic-snippet:focus { outline: 0; border-color: color-mix(in srgb, var(--color-accent) 66%, var(--color-divider)); }.pn-import-diagnostic-list-title,.pn-import-diagnostic-help-title { margin: 12px 0 5px; color: color-mix(in srgb, var(--color-text) 62%, transparent); font: 600 9px/1.2 var(--pn-ui); letter-spacing: .09em; text-transform: uppercase; }.pn-import-diagnostic-list { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }.pn-import-diagnostic-item { display: grid; width: 100%; gap: 2px; border: 0; border-left: 2px solid color-mix(in srgb, #c85e4b 58%, transparent); padding: 5px 7px; background: color-mix(in srgb, #c85e4b 4%, transparent); color: inherit; text-align: left; font: inherit; }.pn-import-diagnostic-item[type="button"] { cursor: pointer; }.pn-import-diagnostic-item[type="button"]:hover,.pn-import-diagnostic-item[type="button"]:focus { outline: 0; background: color-mix(in srgb, #c85e4b 8%, transparent); }.pn-import-diagnostic-path { color: var(--color-text); font: 600 10px/1.3 ui-monospace,Menlo,Consolas,monospace; }.pn-import-diagnostic-item .pn-import-diagnostic-message { margin: 0; color: color-mix(in srgb, var(--color-text) 68%, transparent); }.pn-import-diagnostic-copy { margin-top: 12px; border: 0; border-bottom: 1px solid currentColor; padding: 2px 0; background: transparent; color: var(--color-accent-700); cursor: pointer; font: 500 10px/1.3 var(--pn-ui); }.pn-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 6px; }.pn-actions .btn { min-height: 0; padding: 6px 8px; font-size: 11px; }.pn-actions .btn-danger { border-color: color-mix(in srgb, #a44b3d 72%, var(--color-divider)); background: color-mix(in srgb, #a44b3d 10%, var(--color-bg)); color: #843529; }.pn-actions .btn-danger:hover,.pn-actions .btn-danger:focus { border-color: #843529; background: color-mix(in srgb, #a44b3d 16%, var(--color-bg)); }
.pn-confirm-modal { width: min(420px,100%); border-color: color-mix(in srgb, var(--color-divider) 88%, transparent); border-radius: 2px; padding: 24px 25px 20px; box-shadow: 0 20px 52px rgba(25,23,20,.22); }
.pn-confirm-kicker { margin: 0 0 8px; color: var(--color-accent-700); font: 600 9px/1.2 var(--pn-doc-heading); letter-spacing: .14em; text-transform: uppercase; }
.pn-confirm-modal h2 { font-family: var(--pn-doc-heading); font-size: 25px; line-height: 1.1; letter-spacing: -.01em; }
.pn-confirm-modal .pn-modal-copy { margin: 9px 0 0; font-family: var(--pn-doc-body); font-size: 13px; line-height: 1.5; }
.pn-confirm-actions { justify-content: flex-end; margin-top: 20px; padding-top: 13px; border-top: 1px solid color-mix(in srgb, var(--color-divider) 78%, transparent); }
.pn-confirm-actions .btn { border-radius: 2px; padding: 7px 11px; font-family: var(--pn-ui); font-size: 11px; }
.pn-new-project-field { display: block; margin-top: 18px; }
.pn-new-project-label { display: block; margin: 0 0 5px; color: color-mix(in srgb, var(--color-text) 53%, transparent); font: 600 9px/1.2 var(--pn-ui); letter-spacing: .09em; text-transform: uppercase; }
.pn-new-project-input { width: 100%; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--color-divider) 88%, transparent); border-radius: 0; padding: 7px 0; outline: 0; background: transparent; color: var(--color-text); font: 400 20px/1.2 var(--pn-doc-heading); }
.pn-new-project-input:focus { border-bottom-color: var(--color-accent); }
.pn-new-project-input[aria-invalid="true"] { border-bottom-color: #a44736; }

@media screen and (max-width: 920px) {
  /* A phone or small tablet still has one paper. The on-screen sheet scales
     to its available column; `doc-page` keeps its A4 dimensions for print. */
  .pn-canvas-pane > doc-page {
    --pn-canvas-stage-x: 14px;
    --doc-page-screen-w: min(8.27in, calc(100vw - 82px));
    --doc-page-screen-margin: clamp(18px, 5vw, 48px);
    --doc-page-stage-padding: 18px 14px 48px;
  }
}
@media screen and (max-width: 1023px) {
  #proofnoteDocumentApp { --pn-left: 48px !important; --pn-right: 0px !important; }
  .pn-shell { position: relative; grid-template-columns: 48px minmax(0, 1fr) 0; }
  .pn-sidebar-resize { display: none; }
  #proofnoteDocumentApp .pn-utility.is-open {
    position: absolute; z-index: 12; inset: 0 auto 0 0; width: 204px; margin: 0;
    box-shadow: 8px 0 24px rgba(25,23,20,.11);
  }
  #proofnoteDocumentApp .pn-detail:not([hidden]) {
    position: absolute; z-index: 13; inset: 0 0 0 auto; width: 276px;
    box-shadow: -8px 0 24px rgba(25,23,20,.11);
  }
}
@media screen and (max-width: 700px) {
  body.proofnote-document-mode { overflow: auto; }
  #proofnoteDocumentApp { height: auto; min-height: 100vh; --pn-left: 40px !important; }
  .pn-workspace-toolbar { min-height: 46px; flex-wrap: wrap; gap: 6px 11px; padding: 7px 13px; }
  .pn-wordmark { font-size: 16px; }.pn-badge,.pn-status { display: none; }
  .pn-toolbar-lang { margin-left: auto; }
  .pn-shell { grid-template-columns: 40px minmax(0,1fr) 0; min-height: calc(100vh - 46px); }
  .pn-utility-toggle { height: 44px; }
  #proofnoteDocumentApp .pn-utility.is-open { width: min(276px, calc(100vw - 40px)); }
  #proofnoteDocumentApp .pn-detail:not([hidden]) { width: min(294px, calc(100vw - 18px)); }
  .pn-canvas-pane > doc-page { --pn-canvas-stage-x: 8px; --doc-page-stage-padding: 12px 8px 42px; --doc-page-screen-w: calc(100vw - 82px); --doc-page-screen-margin: 18px; }
  .pn-canvas-grip { left: -21px; }.pn-canvas-overflow { right: -21px; }
  .pn-key-value > div { grid-template-columns: 1fr; gap: 2pt; }.pn-insert-menu { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pn-document { padding: 18pt 16pt; }
}
@media print { body.proofnote-document-mode { overflow: visible; } .pn-workspace-toolbar,.pn-utility,.pn-sidebar-resize,.pn-detail,.pn-modal-backdrop,.pn-outline-menu,.pn-undo-toast { display: none !important; }.pn-shell { display: block; height: auto; }.pn-canvas-pane { overflow: visible; background: transparent; }.pn-canvas-pane > doc-page { --doc-page-stage-padding: 0; --doc-page-sheet-shadow: none; }.pn-canvas-grip,.pn-canvas-overflow,.pn-insert-point,.pn-code-copy,.pn-collection-tools,.pn-collection-remove,.pn-table-column-remove,.pn-table-row-remove,.pn-image-picker,.pn-component-add-summary { display: none !important; }.pn-canvas-block { margin: 0; padding: 0; border: 0; background: transparent; }.pn-canvas-block input,.pn-canvas-block textarea,.pn-running-input { border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; resize: none !important; }.pn-canvas-rich-field > .pn-field,.pn-canvas-equation-field,.pn-canvas-code-field { display: none !important; }.pn-canvas-rich-preview,.pn-equation-preview { display: block !important; }.pn-canvas-code-print { display: block; }.pn-heading,.pn-callout,.pn-semantic,.pn-image { break-inside: avoid; page-break-inside: avoid; }.pn-table-wrap,.pn-code { overflow: visible; break-inside: auto; page-break-inside: auto; }.pn-table { break-inside: auto; page-break-inside: auto; }.pn-table thead { display: table-header-group; }.pn-table tr { break-inside: avoid; page-break-inside: avoid; } }
