/* Supplied binder artwork; text and every control remain real HTML. */
body.nb-modern {background:#142c40;color:#e6eef4}
body.nb-modern .topbar {background:#142c40;border-bottom:1px solid #8fa4b32b;padding-block:10px;min-height:66px}
body.nb-modern .topbar .brand,body.nb-modern .topbar .brand strong {color:#f7fafc}
body.nb-modern .topbar .brand small {color:#bdccd6}
body.nb-modern .top-actions .nb-edition-link,body.nb-modern .top-actions .nb-request-top {color:#d5e1e9}
body.nb-modern .top-actions .nb-request-top:hover {color:#17212b}
body.nb-modern .workspace {max-width:1800px;padding:0 0 10px;width:100%}
body.nb-modern .nb-footer {margin:0 24px;padding:11px 0;border-color:#859dac40;color:#c2d1dc}
body.nb-modern .nb-footer button {color:#d4e0e9}

/* Temporary public landing page. */
body.binder-closed {background:#eef2f4;color:#17212b}
body.binder-closed .topbar,
body.binder-closed .nb-footer {display:none}
body.binder-closed .workspace {padding:0;max-width:none}
.coming-soon-page {min-height:100svh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at 50% 38%,#fff 0,#f5f7f8 38%,#e8edf0 100%)}
.coming-soon-card {width:min(100%,520px);text-align:center;padding:44px 34px 38px;background:#fff;border:1px solid #d6dee2;border-radius:8px;box-shadow:0 18px 50px #15283117}
.coming-soon-mark {display:grid;place-items:center;width:52px;height:52px;margin:0 auto 25px;border-radius:8px;background:#18354b;color:#fff;font:600 17px/1 "IBM Plex Sans",system-ui,sans-serif;letter-spacing:.08em}
.coming-soon-kicker {margin:0 0 12px;color:#61727d;font-size:13px;font-weight:600;letter-spacing:.12em}
.coming-soon-card h1 {margin:0;color:#17212b;font:400 clamp(36px,8vw,58px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.coming-soon-message {margin:15px 0 31px;color:#4c5d67;font-size:20px}
.admin-login-button {min-height:46px;padding:10px 22px;border:1px solid #18354b;border-radius:5px;background:#18354b;color:#fff;font-weight:600;cursor:pointer}
.admin-login-button:hover {background:#234a67}
.admin-login-panel {margin:24px auto 0;max-width:360px;text-align:left;padding-top:22px;border-top:1px solid #dce3e6}
.admin-login-panel label {display:block;margin-bottom:7px;color:#334751;font-size:14px;font-weight:600}
.admin-password-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.admin-password-row input {min-width:0;height:46px;padding:9px 12px;border:1px solid #a9b6bd;border-radius:5px;background:#fff;color:#17212b;font-size:18px}
.admin-password-row button {min-height:46px;padding:9px 18px;border:1px solid #18354b;border-radius:5px;background:#fff;color:#18354b;font-weight:600;cursor:pointer}
.admin-password-row button:disabled {cursor:wait;opacity:.65}
.admin-login-error {min-height:22px;margin:7px 0 0;color:#a31f27;font-size:14px}
.coming-soon-note {margin:30px auto 0;max-width:36ch;color:#6b7a84;font-size:14px;line-height:1.55}
.coming-soon-page :focus-visible {outline:3px solid #2c6fb5;outline-offset:3px}
@media (max-width:560px){.coming-soon-card{padding:36px 22px 31px}.coming-soon-kicker{font-size:12px}.admin-password-row{grid-template-columns:1fr}.admin-password-row button{width:100%}}

/* Retained closed-binder artwork for a future public launch. */
.closed-binder-scene {
  position:relative;width:min(100%,calc((100svh - 130px)*1.7768));
  aspect-ratio:1672/941;margin:0 auto;
  background:#142c40 url('assets/binder/closed.webp') center/100% 100% no-repeat;
}
.closed-binder-label {position:absolute;left:32%;right:23%;top:23%;bottom:20%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f2f0e7}
.closed-binder-label .cover-edition {font-size:clamp(12px,1vw,16px);letter-spacing:.16em;line-height:1.6;margin:0 0 20px;color:#d7e3ed}
.closed-binder-label h1 {font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3.3vw,62px);font-weight:400;line-height:1.1;letter-spacing:-.025em;margin:0;color:#f8f5ed;text-shadow:0 2px 2px #0007}
.closed-binder-label .cover-purpose {font-size:clamp(14px,1.25vw,20px);line-height:1.6;color:#d2dfeb;margin:18px 0 30px}
body.nb-modern #openBinderButton {display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 24px;font-size:16px;font-weight:600;line-height:1.4;color:#182e40;background:#e8e5db;border:1px solid #fffcf4;border-radius:4px;box-shadow:0 4px 12px #0004;cursor:pointer;transition:background .16s,transform .16s}
body.nb-modern #openBinderButton:hover {background:#fffaf0;transform:translateY(-2px)}
.closed-binder-label .cover-creator {font-size:13px;line-height:1.5;margin:25px 0 0;color:#b8cbdc}
body.nb-modern #openBinderButton:focus-visible {outline:3px solid #fff6d8;outline-offset:6px}

/* Desktop spread uses the supplied image's original proportions and paper bounds. */
body.nb-modern.binder-open #binderShell {
  position:relative;display:block;width:min(100%,calc((100svh - 130px)*1.7768));
  aspect-ratio:1672/941;margin:0 auto;padding:0;min-height:0;
  background:url('assets/binder/open.webp') center/100% 100% no-repeat;
}
body.nb-modern.binder-open #binderTabs.binder-tabs {
  position:absolute;top:14%;bottom:14%;left:16.5%;right:auto;
  width:28%;max-height:none;height:auto;z-index:2;
  display:flex;flex-direction:column;gap:5px;
  padding:0 10px 12px 0;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:#9cabb4 transparent;
  overscroll-behavior:contain;scroll-padding:10px;
}
body.nb-modern.binder-open .binder-index-heading {margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid #c6ccd1}
body.nb-modern.binder-open .binder-index-heading>p {font-size:12px;letter-spacing:.12em;color:#566775;margin:0 0 6px}
body.nb-modern.binder-open #binderTabs .nav-label {display:block;padding:0;margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:400;line-height:1.1;color:#1b2c39;letter-spacing:0}
body.nb-modern.binder-open .binder-contents-link {font-size:14px;text-align:left;min-height:36px;padding:4px 0;border:0;background:none;color:#2c5f87;cursor:pointer}
body.nb-modern.binder-open #binderTabs .binder-tab {flex-shrink:0;min-height:44px;border-left-width:7px;padding:11px 12px;background:#ffffffba;border-radius:2px 7px 7px 2px;box-shadow:0 1px 2px #15293814;font-size:15px}
body.nb-modern.binder-open #binderTabs .binder-tab.active {background:#dbe6ef;transform:none}
body.nb-modern.binder-open #binderTabs .binder-tab.emerg {background:#c9232c;color:#fff;min-height:53px}
body.nb-modern.binder-open #binderTabs .binder-tab.emerg:hover {background:#aa1d25}
body.nb-modern.binder-open #binderTabs .tab-count {font-size:12px}
body.nb-modern.binder-open #binderTabs .nav-divider {margin:6px 0;background:#c3ccd2}
body.nb-modern.binder-open #paperContent {
  position:absolute;left:54%;top:14%;bottom:14%;width:33%;
  padding:0 9px 12px 0;min-width:0;overflow:auto;
  scrollbar-width:thin;scrollbar-color:#9cabb4 transparent;
  overscroll-behavior:contain;scrollbar-gutter:stable;
  container-type:inline-size;container-name:paper;color:#17212b;
}
body.nb-modern.binder-open #paperContent:focus {outline:0}
body.nb-modern.binder-open #binderArea {width:100%;min-width:0}
body.nb-modern.binder-open #binderArea .situation-grid,
body.nb-modern.binder-open #binderArea .index-grid,
body.nb-modern.binder-open #binderArea .resource-list,
body.nb-modern.binder-open #binderArea .protocol-grid,
body.nb-modern.binder-open #binderArea .training-links,
body.nb-modern.binder-open #binderArea .nb-practice-guides {grid-template-columns:minmax(0,1fr)}
body.nb-modern.binder-open #binderArea .situation-card {min-height:116px}
body.nb-modern.binder-open #binderArea .situation-card p,
body.nb-modern.binder-open #binderArea .index-copy small,
body.nb-modern.binder-open #binderArea .resource-description {font-size:14px;line-height:1.5}
body.nb-modern.binder-open #binderArea .situation-card small {font-size:12px}
body.nb-modern.binder-open #binderArea .cover-heading h1 {font:400 29px/1.16 Georgia,'Times New Roman',serif!important}
body.nb-modern.binder-open #binderArea .cover-topline {display:block}
body.nb-modern.binder-open #binderArea .cover-topline>span {display:block;margin-top:6px}
body.nb-modern.binder-open #binderArea .cover-sub,
body.nb-modern.binder-open #binderArea .section-heading>p,
body.nb-modern.binder-open #binderArea .quick-field dd,
body.nb-modern.binder-open #binderArea .overview-grid .dialog-note {font-size:16px}
body.nb-modern.binder-open #binderArea .emergency-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
body.nb-modern.binder-open #binderArea .emergency-card {display:flex;min-height:130px;gap:7px;padding:10px}
body.nb-modern.binder-open #binderArea .emergency-card small {font-size:13px}
body.nb-modern.binder-open #binderArea .reference-page {border:0;border-radius:0;box-shadow:none;background:transparent}
body.nb-modern.binder-open #binderArea .reference-heading {padding:0 0 18px;border-color:#cbd1d6}
body.nb-modern.binder-open #binderArea .reference-heading h1 {font-size:26px!important;margin-right:42px}
body.nb-modern.binder-open #binderArea .reference-body {padding:0}
body.nb-modern.binder-open #binderArea .quick-reference {padding:0;border:0}
body.nb-modern.binder-open #binderArea .quick-field {grid-template-columns:minmax(0,1fr);gap:5px;border-color:#ccd2d7}
body.nb-modern.binder-open #binderArea .quick-field dt {font-size:14px;color:#4e6475}
body.nb-modern.binder-open #binderArea .reference-links {padding:16px 0;background:transparent}
body.nb-modern.binder-open #binderArea .guide-toolbar {display:block}
body.nb-modern.binder-open #binderArea .print-guide {margin-top:10px;background:#fff}
body.nb-modern.binder-open #binderArea .guide-tabs button {font-size:14px;min-height:44px;flex:1 1 auto}
body.nb-modern.binder-open #binderArea .overview-grid {grid-template-columns:minmax(0,1fr);gap:18px}
body.nb-modern.binder-open #binderArea .guide-product img {height:220px}
body.nb-modern.binder-open #binderArea .guide-product {margin-inline:0}
body.nb-modern.binder-open #binderArea .practice-feature {grid-template-columns:minmax(0,1fr);padding:15px}
body.nb-modern.binder-open #binderArea .practice-event-row {grid-template-columns:repeat(2,minmax(0,1fr))}
body.nb-modern.binder-open #binderArea .request-strip {flex-direction:column;align-items:flex-start;padding:15px;gap:10px}
body.nb-modern.binder-open #binderArea .binder-tools {display:flex;flex-direction:column;align-items:stretch}
body.nb-modern.binder-open #binderArea .search {width:100%;min-width:0}
body.nb-modern.binder-open #binderArea .section-head {display:block}
body.nb-modern.binder-open #binderArea .section-head h1 {font-size:27px}
body.nb-modern.binder-open #binderArea .resource-row {grid-template-columns:80px minmax(0,1fr);gap:13px;padding:13px}
body.nb-modern.binder-open #binderArea .equipment-photo {width:80px}
body.nb-modern.binder-open #binderArea .family-filters {flex-wrap:wrap}
body.nb-modern.binder-open #binderArea .alphabet {flex-wrap:wrap}
body.nb-modern.binder-open #binderArea .activity-row {grid-template-columns:minmax(0,1fr) 64px 30px}
body.nb-modern.binder-open .connection-notice {margin-top:0}

/* Workspaces share the paper viewport; retain their established control contrast. */
body.nb-modern.binder-open #hubPage {padding:13px 10px;border-radius:4px}
body.nb-modern.binder-open #hubPage .ev-title {display:block}
body.nb-modern.binder-open #hubPage .ev-title h1 {font-size:24px}
body.nb-modern.binder-open #hubPage .ev-one-screen,
body.nb-modern.binder-open #hubPage .ev-launch-grid {grid-template-columns:minmax(0,1fr)}
body.nb-modern.binder-open #hubPage .ev-command-dock {top:0;padding:8px}
body.nb-modern.binder-open #hubPage .ev-command-dock .ev-timer-bar {grid-template-columns:1fr auto;gap:8px}
body.nb-modern.binder-open #hubPage .ev-clock-cell {display:none}
body.nb-modern.binder-open #hubPage .ev-timer-actions {flex-wrap:wrap;gap:6px;grid-column:auto}
body.nb-modern.binder-open #hubPage .ev-timer-actions button {min-height:40px;padding:7px 10px;font-size:14px}
body.nb-modern.binder-open #hubPage .ev-primary-trio {gap:5px}
body.nb-modern.binder-open #hubPage .ev-main-button {padding:10px 7px;min-height:164px}
body.nb-modern.binder-open #hubPage .ev-main-button>span {font-size:12px;letter-spacing:0}
body.nb-modern.binder-open #hubPage .ev-main-button>strong,
body.nb-modern.binder-open #hubPage .ev-main-button>small {font-size:14px}
body.nb-modern.binder-open #hubPage .ev-main-wrap .ev-main-button {min-height:120px}
body.nb-modern.binder-open #hubPage .ev-main-wrap .ev-route-choice {padding:0 5px 7px;gap:4px}
body.nb-modern.binder-open #hubPage .ev-main-wrap .ev-route-choice button {padding:4px 6px}
body.nb-modern.binder-open #hubPage .ev-energy,
body.nb-modern.binder-open #hubPage .ev-rhythm-choices,
body.nb-modern.binder-open #hubPage .ev-compact-actions {grid-template-columns:repeat(2,minmax(0,1fr))}
body.nb-modern.binder-open #hubPage .ev-record {flex-wrap:wrap}
body.nb-modern.binder-open #hubPage .ev-feedback {flex-wrap:wrap}
body.nb-modern.binder-open #hubPage .ev-live-log .ev-timeline {max-height:none;overflow:visible}
body.nb-modern.binder-open #hubPage .ev-timeline article {grid-template-columns:minmax(0,1fr) auto;gap:10px}
body.nb-modern.binder-open #hubPage .ev-timeline article>div:first-child {grid-column:1/-1}
body.nb-modern.binder-open #hubPage .ev-fields,
body.nb-modern.binder-open #hubPage .neuro-fields {grid-template-columns:minmax(0,1fr)}
body.nb-modern.binder-open #hubPage .ev-action-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
body.nb-modern.binder-open #hubPage .nih-layout,
body.nb-modern.binder-open #hubPage .neuro-layout {grid-template-columns:minmax(0,1fr)}

/* At narrow widths, crop to the right-hand paper instead of shrinking its text. */
@media (max-width:1100px) {
  body.nb-modern .topbar {position:static}
  body.nb-modern.binder-open #binderShell {width:100%;aspect-ratio:auto;height:max(680px,calc(100svh - 125px));background-size:250% 100%;background-position:85% top}
  body.nb-modern.binder-open #binderTabs.binder-tabs {top:12%;bottom:auto;left:5%;width:89%;height:62px;display:flex;flex-direction:row;gap:7px;padding:4px 4px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto}
  body.nb-modern.binder-open #binderTabs .binder-index-heading {display:none}
  body.nb-modern.binder-open #binderTabs .nav-divider {width:1px;height:30px;margin:6px 2px}
  body.nb-modern.binder-open #binderTabs .binder-tab {width:auto;min-width:max-content;min-height:44px;flex:none;white-space:nowrap;padding:9px 12px;font-size:14px}
  body.nb-modern.binder-open #binderTabs .binder-tab.emerg {min-height:44px}
  body.nb-modern.binder-open #paperContent {top:calc(12% + 77px);bottom:14%;left:6%;width:87%;padding-right:10px}
  body.nb-modern.binder-open #binderArea .situation-grid,
  body.nb-modern.binder-open #binderArea .index-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nb-modern.binder-open #binderArea .reference-heading h1 {font-size:29px!important}
}
@media (max-width:600px) {
  .closed-binder-scene {width:100%;aspect-ratio:auto;height:calc(100svh - 160px);min-height:440px;max-height:800px;background-size:170% auto;background-position:53% center}
  .closed-binder-label {left:12%;right:10%;top:15%;bottom:18%}
  .closed-binder-label h1 {font-size:clamp(29px,8vw,44px)}
  .closed-binder-label .cover-edition {font-size:12px;letter-spacing:.12em;margin-bottom:18px;max-width:25ch}
  .closed-binder-label .cover-purpose {font-size:15px;max-width:24ch;margin:18px 0 25px}
  .closed-binder-label .cover-creator {font-size:12px}
  body.nb-modern #openBinderButton {font-size:15px;padding:12px 18px;gap:16px}
  body.nb-modern.binder-open #binderShell {height:max(710px,calc(100svh - 140px))}
  body.nb-modern.binder-open #binderArea .situation-grid,
  body.nb-modern.binder-open #binderArea .index-grid {grid-template-columns:minmax(0,1fr)}
  body.nb-modern.binder-open #binderArea .reference-heading h1 {font-size:25px!important}
  body.nb-modern.binder-open #binderArea .resource-row {grid-template-columns:65px minmax(0,1fr);padding:10px;gap:10px}
  body.nb-modern.binder-open #binderArea .equipment-photo {width:65px}
  body.nb-modern .nb-footer {margin-inline:16px}
}
@container paper (max-width:370px) {
  body.nb-modern.binder-open #hubPage .ev-command-dock {position:static}
  body.nb-modern.binder-open #hubPage .ev-primary-trio {grid-template-columns:minmax(0,1fr)}
  body.nb-modern.binder-open #hubPage .ev-main-button {min-height:110px}
  body.nb-modern.binder-open #hubPage .ev-main-wrap .ev-main-button {min-height:100px}
  body.nb-modern.binder-open #hubPage .ev-command-dock .ev-timer-bar {grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce) {
  body.nb-modern #openBinderButton {transition:none;transform:none}
}
@media print {
  body.nb-modern {background:#fff!important;color:#000!important}
  body.nb-modern #landingPage,body.nb-modern #binderTabs {display:none!important}
  body.nb-modern.binder-open #binderShell,body.nb-modern.binder-open #paperContent {position:static!important;display:block;width:auto;height:auto;aspect-ratio:auto;max-height:none;overflow:visible;background:none;padding:0;margin:0;container-type:normal}
  body.nb-modern.printing-guide> :not(#printArea) {display:none!important}
}
