/* Shared report shell. Scientific figures and widgets keep their local styles. */
html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="stair_env"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"],[data-shappy-page="examples"]) {
  color-scheme:light;--shappy-paper:#f8fafc;--shappy-ink:#172339;--shappy-muted:#5d6b7f;--shappy-blue:#2458a6;--shappy-rule:#dce3ec;
}
html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="stair_env"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"],[data-shappy-page="examples"]) body {
  margin:0;background:var(--shappy-paper);color:var(--shappy-ink);
  font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo",sans-serif;
  -webkit-font-smoothing:antialiased;
}
html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"]) main,
html:is([data-shappy-page="stair_env"],[data-shappy-page="examples"]) body > .wrap {
  box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:48px 24px 80px;
}
html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"]) main > h1,
html:is([data-shappy-page="stair_env"],[data-shappy-page="examples"]) body > .wrap > h1 {
  color:var(--shappy-ink);font-size:clamp(28px,3.4vw,40px);line-height:1.25;letter-spacing:-.035em;font-weight:720;margin:0 0 12px;overflow-wrap:anywhere;
}
html:is([data-shappy-page="multi_terrain"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"]) main > h2,
html[data-shappy-page="stair_env"] body > .wrap > h2 {
  color:var(--shappy-ink);font-size:25px;line-height:1.35;letter-spacing:-.025em;margin:44px 0 18px;
}
html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"]) main > p,
html:is([data-shappy-page="stair_env"],[data-shappy-page="examples"]) body > .wrap > p {max-width:900px;overflow-wrap:anywhere;}
html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="stair_env"],[data-shappy-page="recordings"],[data-shappy-page="examples"]) .sub {
  color:var(--shappy-muted);font-size:15px;line-height:1.7;margin:0 0 28px;max-width:900px;overflow-wrap:anywhere;
}

/* Standalone navigation is nonsticky; research.css also supplies project navigation. */
#shappy-page-nav {position:static;color-scheme:light;color:#172339;background:#fff;border-bottom:1px solid #dce3ec;font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
#shappy-page-nav .shappy-nav-inner {box-sizing:border-box;max-width:1168px;margin:0 auto;padding:16px 32px;display:flex;gap:8px 24px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
#shappy-page-nav .version-nav {min-width:0;}
#shappy-page-nav .shappy-context {color:#2458a6;text-decoration:none;min-height:40px;display:inline-flex;align-items:center;}
#shappy-page-nav .shappy-context:hover {text-decoration:underline;}
#shappy-page-nav .shappy-context:focus-visible {outline:2px solid #2458a6;outline-offset:2px;}

/* ROS retains the graph's dark surface, palette, and horizontal scrolling. */
html[data-shappy-page="ros_graph"] main > h2 {color:var(--shappy-ink);font-size:20px;line-height:1.4;text-transform:none;letter-spacing:-.015em;margin:32px 0 14px;}
html[data-shappy-page="ros_graph"] main > .wrap,
html[data-shappy-page="ros_graph"] details > .wrap {max-width:100%;border-radius:6px;padding:12px;overscroll-behavior-x:contain;}
html[data-shappy-page="ros_graph"] :is(.legend,.foot) {color:var(--shappy-muted);line-height:1.7;}
html[data-shappy-page="ros_graph"] main > details > summary {color:var(--shappy-blue);font-size:15px;padding:8px 0;}

/* Multi-terrain neutral shell; chart series colors remain unchanged. */
html[data-shappy-page="multi_terrain"] {--page:#f8fafc;--surface:#fff;--ink:#172339;--ink2:#47576e;--muted:#627086;--grid:#dce3ec;--axis:#d2dce8;--blue:#2458a6;}
html[data-shappy-page="multi_terrain"] main > section {background:transparent;border:0;border-top:1px solid var(--shappy-rule);border-radius:0;padding:30px 0 0;margin:30px 0 0;}
html[data-shappy-page="multi_terrain"] main > section > h2 {font-size:24px;line-height:1.4;letter-spacing:-.025em;margin:0 0 14px;}
html[data-shappy-page="multi_terrain"] :is(.two,.famrow,.tiles,.lanes,.scroll) {min-width:0;}
html[data-shappy-page="multi_terrain"] :is(.pill,.lane,.verdict) {border-radius:5px;}
html[data-shappy-page="multi_terrain"] .pill {border-color:var(--shappy-rule);padding:10px 13px;}
html[data-shappy-page="multi_terrain"] .pill span {font-size:12px;}
html[data-shappy-page="multi_terrain"] .pill b {font-size:16px;}
html[data-shappy-page="multi_terrain"] .facts p {font-size:15px;line-height:1.7;max-width:900px;}
html[data-shappy-page="multi_terrain"] :is(.note,.tile figcaption) {font-size:13px;line-height:1.7;}
html[data-shappy-page="multi_terrain"] .tag {color:#936316;border-color:#d6b979;}
html[data-shappy-page="multi_terrain"] :is(.st.running,.st.queued,.st.waiting) {color:#936316;}
html[data-shappy-page="multi_terrain"] .gb {
  /* Original pale baseline series requires a dark comparison surface. */
  --ink2:#dde5ef;--muted:#b9c7d8;--grid:#334359;--axis:#334359;--surface:#172339;
  background:#172339;color:#edf2f8;padding:16px 18px;border-radius:6px;margin:18px 0;min-width:0;
}
html[data-shappy-page="multi_terrain"] .gb-legend {position:static;}
html[data-shappy-page="multi_terrain"] .gb-legend span {max-width:100%;white-space:normal;}
html[data-shappy-page="multi_terrain"] .gb-legend i {flex-shrink:0;}
html[data-shappy-page="multi_terrain"] .gb-bars {min-width:0;}

/* Stair neutral tokens change; terrain and result color scales are preserved. */
html[data-shappy-page="stair_env"] {--bg:#f8fafc;--panel:#fff;--line:#dce3ec;--text:#172339;--muted:#5d6b7f;--accent:#2458a6;}
html[data-shappy-page="stair_env"] :is(.tile,figure,.panel) {border-radius:5px;}
html[data-shappy-page="stair_env"] figure {border-color:var(--shappy-rule);}
html[data-shappy-page="stair_env"] figcaption {padding:12px 14px;font-size:13px;line-height:1.7;}
html[data-shappy-page="stair_env"] .panel {padding:16px;}
html[data-shappy-page="stair_env"] .tiles {margin-bottom:18px;gap:10px;}
html[data-shappy-page="stair_env"] .tile {padding:11px 13px;}
html[data-shappy-page="stair_env"] :is(.g2,.g3,.scroll) {min-width:0;}
html[data-shappy-page="stair_env"] .foot {font-size:13px;line-height:1.7;overflow-wrap:anywhere;}

/* V2 flows as a report; result and 3D comparison cards stay distinct. */
html[data-shappy-page="v2_leg"] main > .panel {border:0;border-top:1px solid var(--shappy-rule);border-radius:0;background:transparent;padding:28px 0;margin:30px 0;}
html[data-shappy-page="v2_leg"] main > .stiffness-process {padding:30px 0!important;}
html[data-shappy-page="v2_leg"] #study-overview {background:transparent;border:0;border-radius:0;padding:10px 0;margin:0 0 28px;}
html[data-shappy-page="v2_leg"] .study-overview h1 {font-size:clamp(29px,3.5vw,40px);line-height:1.3;letter-spacing:-.035em;margin:18px 0 14px;}
html[data-shappy-page="v2_leg"] .study-lead {font-size:16px;line-height:1.75;max-width:900px;}
html[data-shappy-page="v2_leg"] :is(.study-steps,.study-verdict,.process-controls,.grid) > * {min-width:0;}
html[data-shappy-page="v2_leg"] .grid {gap:28px;}
html[data-shappy-page="v2_leg"] .grid > .panel {border:0;border-top:1px solid var(--shappy-rule);background:transparent;border-radius:0;padding:22px 0;margin:0;}
html[data-shappy-page="v2_leg"] main > .panel > h2,
html[data-shappy-page="v2_leg"] .grid > .panel > h2 {font-size:23px;line-height:1.4;margin:0 0 16px;}
html[data-shappy-page="v2_leg"] .process-shared-view {flex-wrap:wrap;}
html[data-shappy-page="v2_leg"] .appendix {overflow-wrap:anywhere;}
html[data-shappy-page="v2_leg"] .appendix summary {color:var(--shappy-ink);font-size:18px;line-height:1.55;}
html[data-shappy-page="v2_leg"] .appendix > p {max-width:900px;}
html[data-shappy-page="v2_leg"] .appendix pre {border:1px solid var(--shappy-rule);background:#eef2f7;border-radius:5px;max-width:100%;}
html[data-shappy-page="v2_leg"] .tag {border-radius:4px;background:#edf3fb;color:#2458a6;}
html[data-shappy-page="v2_leg"] .note {line-height:1.75;}
html[data-shappy-page="v2_leg"] main a {color:var(--shappy-blue);text-underline-offset:3px;}

/* Supplemental pages share the reading rhythm without changing media playback. */
html[data-shappy-page="recordings"] {--bg:#f8fafc;--fg:#172339;--mut:#5d6b7f;--line:#dce3ec;}
html[data-shappy-page="recordings"] main {max-width:900px;}
html[data-shappy-page="recordings"] article {padding:24px 0;}
html[data-shappy-page="recordings"] article h2 {font-size:20px;line-height:1.4;margin:0 0 16px;}
html[data-shappy-page="recordings"] article p {font-size:14px;line-height:1.75;max-width:700px;overflow-wrap:anywhere;}
html[data-shappy-page="recordings"] video {max-width:640px;border-radius:5px;}
html[data-shappy-page="recordings"] main a {color:var(--shappy-blue);text-underline-offset:3px;}
html[data-shappy-page="examples"] .grid {grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:24px;}
html[data-shappy-page="examples"] article {min-width:0;border-color:var(--shappy-rule);border-radius:5px;}
html[data-shappy-page="examples"] .tx {padding:18px;}
html[data-shappy-page="examples"] .tx p {font-size:15px;line-height:1.75;overflow-wrap:anywhere;}
html[data-shappy-page="examples"] .st {color:var(--shappy-blue);font-size:14px;}
html[data-shappy-page="examples"] .fit {color:var(--shappy-muted);}

/* Natural height is required by the parent's autoheight runtime. */
html.shappy-embedded {height:auto;min-height:0;}
html.shappy-embedded body {height:auto!important;min-height:0!important;margin:0;display:flow-root;background:transparent;}
html.shappy-embedded #shappy-page-nav {display:none!important;}
html.shappy-embedded main,
html.shappy-embedded body > .wrap {box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:18px 0 28px;}
html.shappy-embedded[data-shappy-page="v2_leg"] main {padding:8px 2px 28px;}
html.shappy-embedded[data-shappy-page="v2_leg"] #study-overview {border:0;border-radius:0;padding:10px 0;}

@media(max-width:700px) {
  #shappy-page-nav .shappy-nav-inner {padding:16px 20px;}
  html:is([data-shappy-page="ros_graph"],[data-shappy-page="multi_terrain"],[data-shappy-page="v2_leg"],[data-shappy-page="recordings"]) main,
  html:is([data-shappy-page="stair_env"],[data-shappy-page="examples"]) body > .wrap {padding:30px 18px 56px;}
  html[data-shappy-page="multi_terrain"] main > section {padding-top:24px;margin-top:26px;}
  html[data-shappy-page="multi_terrain"] main > section > h2 {font-size:22px;}
  html[data-shappy-page="multi_terrain"] .gb {padding:14px 12px;}
  html[data-shappy-page="stair_env"] .panel {padding:10px;}
  html[data-shappy-page="v2_leg"] main > .stiffness-process {padding:24px 0!important;}
  html[data-shappy-page="v2_leg"] .study-overview h1 {font-size:29px;}
  html[data-shappy-page="v2_leg"] .study-lead {font-size:15px;}
  html[data-shappy-page="v2_leg"] .grid {gap:24px;}
  html[data-shappy-page="examples"] .grid {gap:18px;}
  html.shappy-embedded main,
  html.shappy-embedded body > .wrap {padding:12px 0 24px;}
  html.shappy-embedded[data-shappy-page="v2_leg"] main {padding:6px 1px 24px;}
}
@media(max-width:480px) {
  #shappy-page-nav .shappy-nav-inner {padding:16px 20px;gap:4px;}
  html[data-shappy-page="multi_terrain"] .pill {padding:8px 10px;}
  html[data-shappy-page="ros_graph"] main > .wrap,
  html[data-shappy-page="ros_graph"] details > .wrap {padding:8px;}
}
