/* Public exploration only. Personal Ledger layout and page styles are intact. */
html[data-product-home="true"],html[data-ro-explore="sample"] { --ex-ink:#17283a; --ex-paper:#f8f5ef; --ex-surface:#fffdfa; --ex-muted:#6c6a66; --ex-rule:#e7ddd2; --ex-accent:#b3492e; }
html[data-product-home="true"] body,html[data-ro-explore="sample"] body { height:100vh; height:100dvh; margin:0; display:flex; flex-direction:column; overflow:hidden; background:var(--ex-paper); }
html[data-product-home="true"] #app { flex:1; min-height:0; overflow:auto; }
html[data-ro-explore="sample"] #app { flex:1; min-width:0; min-height:0; overflow:hidden; }
html[data-ro-explore="sample"] #app > .np-root { height:100%; min-height:0; }
html[data-ro-explore="sample"] [data-explore-legacy-banner="true"],html[data-ro-explore="sample"] #app button[title="Exit demo mode and set up your own plan"] { display:none!important; }
html[data-ro-explore="sample"] #app .np-aside { padding-top:20px; }
#explore-chrome { flex:none; position:relative; z-index:50; }
.explore-top,.ex-entry-mast,.ex-session-block { color:var(--ex-ink); background:var(--ex-surface); font:14px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.explore-top *, .explore-top *::before,.explore-top *::after { box-sizing:border-box; }
.explore-top button,.explore-top input,.explore-top select { font:inherit; }
.explore-top button { cursor:pointer; }
.explore-top :is(button,a,summary):focus-visible,.ex-entry-mast a:focus-visible { outline:3px solid var(--ex-accent); outline-offset:3px; }
.explore-top button:disabled { cursor:wait; opacity:.6; }
.explore-mast,.ex-entry-mast { display:flex; align-items:center; gap:20px; min-height:56px; padding:8px 24px; border-bottom:1px solid var(--ex-rule); }
.ex-brand { display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:var(--ex-ink); font-size:17px; font-weight:650; letter-spacing:-.04em; flex:none; }
.ex-brand img { border-radius:6px; }
.ex-sample-label { display:flex; align-items:center; flex-wrap:wrap; gap:6px 9px; font-size:12px; font-weight:600; }
.ex-sample-label i { width:6px; height:6px; border-radius:50%; background:var(--ex-accent); }
.ex-sample-label small { font-size:11px; font-weight:400; color:var(--ex-muted); }
.explore-mast > nav,.ex-entry-mast > nav { margin-left:auto; display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; }
.ex-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; text-decoration:none; min-height:44px; padding:8px 14px; border:1px solid var(--ex-rule); border-radius:7px; font-size:12px!important; font-weight:600!important; color:var(--ex-ink); background:var(--ex-surface); line-height:1.4; }
.ex-primary { background:var(--ex-accent); border-color:var(--ex-accent); color:white; }
.ex-text { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:5px 2px; text-decoration:none; border:0; background:transparent; color:var(--ex-ink); font-size:12px!important; }
.ex-text:hover { text-decoration:underline; text-underline-offset:3px; }
.ex-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; border:1px solid var(--ex-rule); border-radius:6px; background:transparent; color:var(--ex-ink); font-size:23px!important; }
.explore-guide { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:12px 24px; border-bottom:1px solid var(--ex-rule); background:var(--ex-surface); }
.explore-guide strong { font-weight:600; font-size:13px; }
.explore-guide p { margin:3px 0 0; font-size:12px; line-height:1.6; color:var(--ex-muted); max-width:115ch; }
.ex-session-block { padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--ex-rule); }
.explore-dialog { width:min(860px,calc(100% - 32px)); max-width:860px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--ex-rule); border-radius:14px; color:var(--ex-ink); background:var(--ex-surface); margin:auto; box-shadow:0 24px 100px #0a231f33; overflow:hidden; }
.explore-dialog[open] { display:flex; flex-direction:column; }
.explore-dialog::backdrop { background:#0a231f66; }
.explore-dialog > header { display:flex; justify-content:space-between; align-items:center; flex:none; gap:20px; padding:20px 24px; border-bottom:1px solid var(--ex-rule); }
.explore-dialog h2 { margin:0; font:600 23px/1.3 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.035em; }
.explore-dialog-body { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:22px 24px; font:14px/1.7 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.explore-dialog-body h3 { font-size:17px; margin:22px 0 6px; }
.explore-dialog-body p { margin:0 0 14px; }
.explore-dialog > footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; flex:none; padding:14px 24px; border-top:1px solid var(--ex-rule); background:var(--ex-paper); }
.explore-dialog details { font-size:12px; margin-top:16px; }
.explore-dialog summary { cursor:pointer; width:fit-content; padding:8px 0; }
.explore-dialog ul { padding-left:20px; }
.explore-dialog li { margin:8px 0; }
.ex-kicker { color:var(--ex-muted); font-size:11px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.ex-note { color:var(--ex-muted); font-size:12px; line-height:1.65; }
.ex-error { border-left:3px solid var(--ex-accent); background:#f8ede6; padding:12px 14px; color:var(--ex-ink); font-size:13px; }
.ex-progress { padding:12px 14px; background:var(--ex-paper); border-radius:7px; }
.ex-household { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; background:var(--ex-paper); padding:16px; border-radius:8px; }
.ex-household dt { color:var(--ex-muted); font-size:11px; }
.ex-household dd { margin:4px 0 0; font-size:14px; font-weight:600; }
.ex-resource-links { display:flex; gap:12px 20px; flex-wrap:wrap; border-top:1px solid var(--ex-rule); padding-top:16px; }
.ex-resource-links a { color:var(--ex-accent); font-size:12px; text-decoration:none; }
.ex-comparison-scroll { overflow:auto; max-width:100%; overscroll-behavior:contain; }
.ex-comparison table { width:100%; min-width:550px; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.ex-comparison caption { text-align:left; color:var(--ex-muted); font-size:12px; padding-bottom:12px; }
.ex-comparison td,.ex-comparison th { padding:13px 10px; border-bottom:1px solid var(--ex-rule); text-align:right; }
.ex-comparison th:first-child { text-align:left; }
.ex-comparison thead th { color:var(--ex-muted); background:var(--ex-paper); font-size:11px; font-weight:550; }
.ex-comparison tbody th { font-weight:550; }
.ex-odds-comparison { margin:20px 0; border:1px solid var(--ex-rule); border-radius:9px; padding:18px; }
.ex-odds-comparison > div { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:450px; margin:10px 0; }
.ex-odds-comparison small { color:var(--ex-muted); font-size:11px; display:block; }
.ex-odds-comparison strong { font-size:38px; font-weight:550; letter-spacing:-.06em; line-height:1.3; }
.ex-odds-comparison p { margin:0 0 10px; }
.ex-assumptions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ex-assumptions pre { white-space:pre-wrap; overflow-wrap:anywhere; max-width:100%; background:var(--ex-paper); padding:12px; font-size:11px; }
.ex-entry-shell { flex:1; display:grid; grid-template-columns:212px minmax(0,1fr); gap:24px; min-height:0; padding:20px 24px 24px 0; font:13px/1.6 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ex-ink); }
.ex-entry-rail { background:#fbf8f2; color:#17283a; border-right:1px solid #e7ddd2; padding:24px; border-radius:0 12px 12px 0; display:flex; flex-direction:column; gap:21px; }
.ex-entry-main h1 { font:550 clamp(22px,2.5vw,32px)/1.25 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.04em; margin:10px 0; }
.ex-entry-main p { margin:8px 0; color:var(--ex-muted); }
.ex-ledger-skeleton { border:1px solid var(--ex-rule); border-radius:12px; margin-top:28px; overflow:hidden; background:var(--ex-surface); }
.ex-ledger-skeleton > div { display:grid; grid-template-columns:200px repeat(4,1fr); gap:18px; border-bottom:1px solid var(--ex-rule); padding:22px 18px; }
.ex-ledger-skeleton i { height:12px; max-width:100%; background:var(--ex-rule); border-radius:2px; align-self:center; }
.ex-public-summary { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ex-no-script { padding:24px; background:var(--ex-surface); color:var(--ex-ink); }
html[data-product-home="true"] body > .np-product-disclaimer { display:none; }
@media(max-width:1199px) { .ex-sample-label small { display:none; } }
@media(max-width:760px) { .explore-mast,.ex-entry-mast { gap:9px; padding:8px 12px; flex-wrap:wrap; } .ex-brand { font-size:15px; } .explore-mast > nav,.ex-entry-mast > nav { gap:8px; } .ex-about { max-width:88px; line-height:1.3; } .explore-guide { padding:12px; gap:12px; } .explore-guide p { max-height:105px; overflow:auto; } .explore-dialog > header { padding:15px; } .explore-dialog h2 { font-size:20px; } .explore-dialog-body { padding:16px; } .explore-dialog > footer { padding:12px; } .ex-entry-shell { grid-template-columns:minmax(0,1fr); padding:18px; } .ex-entry-rail { display:none; } .ex-ledger-skeleton > div { grid-template-columns:130px repeat(2,1fr); padding:18px 12px; } .ex-ledger-skeleton i:nth-last-child(-n+2) { display:none; } }
@media(max-width:480px) { .ex-sample-label { font-size:10px; } .explore-mast > nav { width:100%; justify-content:flex-end; margin-top:0; } .explore-mast .ex-reset { margin-right:auto; } .explore-mast { min-height:92px; gap:3px 12px; } .ex-household,.ex-assumptions { grid-template-columns:1fr; } .ex-session-block { flex-direction:column; align-items:start; } }
@media(prefers-reduced-motion:no-preference) { .explore-guide { animation:ex-enter .18s ease-out; } .ex-odds-comparison { animation:ex-enter .22s ease-out; } @keyframes ex-enter { from { opacity:.2; transform:translateY(-3px); } to { opacity:1; transform:none; } } }
@media print { #explore-chrome { display:none; } html[data-ro-explore="sample"] body,html[data-ro-explore="sample"] #app,html[data-ro-explore="sample"] #app > .np-root { height:auto; overflow:visible; } }

/* One public mini-hero row. The actual product begins immediately below it. */
.explore-top .ex-home-header {
  position:relative; display:grid; grid-template-columns:176px minmax(0,1fr) auto;
  align-items:center; gap:28px; min-height:100px; padding:16px 28px;
  background:var(--ex-surface); border-bottom:1px solid var(--ex-rule);
}
.ex-home-identity { display:grid; justify-items:start; align-content:center; gap:9px; min-width:0; }
.ex-home-identity .ex-brand { font-size:19px; gap:9px; letter-spacing:-.7px; }
.ex-home-identity .ex-brand img { display:block; flex:none; width:28px; height:28px; }
.ex-home-sample,.ex-home-message .ex-home-sample-compact { display:flex; align-items:center; gap:6px; font-size:10px; line-height:1.4; color:var(--ex-muted); white-space:nowrap; }
.ex-home-sample i,.ex-home-sample-compact i { display:inline-block; width:5px; height:5px; border-radius:50%; flex:none; background:var(--ex-accent); }
.ex-home-message { border-left:2px solid var(--ex-accent); padding-left:22px; min-width:0; }
.ex-home-message h1 { margin:0; color:var(--ex-ink); font-family:inherit; font-size:clamp(26px,2.55vw,42px); font-weight:650; line-height:1.12; letter-spacing:-.045em; }
.ex-home-message h1 > span { color:var(--ex-accent); white-space:nowrap; }
.ex-home-message p { margin:7px 0 0; font-size:13px; line-height:1.4; color:var(--ex-muted); }
.ex-home-message .ex-home-sample-compact { display:none; }
.explore-top .ex-home-header > .ex-home-actions { display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:18px; margin:0; min-width:0; }
.ex-home-header .ex-home-signin { font-size:13px!important; white-space:nowrap; }
.ex-home-header .ex-home-build { min-height:46px; padding:11px 19px; font-size:14px!important; gap:22px; white-space:nowrap; }
.ex-home-build-arrow { font-size:18px; font-weight:400; line-height:1; }
.ex-home-build-short { display:none; }
.ex-home-tools { position:relative; flex:none; }
.ex-home-tools > summary { display:flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:4px 2px; list-style:none; color:var(--ex-ink); font-size:12px; cursor:pointer; border-radius:6px; }
.ex-home-tools > summary::-webkit-details-marker { display:none; }
.ex-home-tools > summary::marker { content:''; }
.ex-home-tools > summary:hover,.ex-home-tools[open] > summary { background:var(--ex-paper); }
.ex-home-tools .ex-home-ellipsis { display:none; }
.ex-home-tools-panel { position:absolute; top:calc(100% + 10px); right:0; z-index:2; width:280px; max-width:calc(100vw - 24px); max-height:calc(100vh - 124px); max-height:calc(100dvh - 124px); overflow-y:auto; overscroll-behavior:contain; padding:10px; border:1px solid var(--ex-rule); border-radius:10px; background:var(--ex-surface); color:var(--ex-ink); box-shadow:0 14px 45px #193b3222; }
.ex-home-tools:not([open]) > .ex-home-tools-panel { display:none; }
.ex-home-tools-panel nav { display:grid; gap:2px; }
.ex-home-tools-panel button { display:flex; align-items:center; justify-content:space-between; width:100%; max-width:none; min-height:44px; padding:9px 11px; border:0; border-radius:6px; text-align:left; background:transparent; color:var(--ex-ink); font-size:13px; line-height:1.4; }
.ex-home-tools-panel button:hover,.ex-home-tools-panel button[aria-pressed="true"] { background:var(--ex-paper); }
.ex-home-tools-panel button:focus-visible { outline-offset:-2px; }
.ex-home-tools-panel .ex-compare { color:var(--ex-accent); font-weight:600; }
.ex-home-tools-panel .ex-home-menu-label { margin:3px 11px 7px; font-size:10px; line-height:1.4; color:var(--ex-muted); font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.ex-home-tools-panel .ex-home-menu-note { margin:8px 11px 3px; font-size:11px; line-height:1.6; color:var(--ex-muted); }
.ex-home-menu-divider { height:1px; margin:8px 1px; background:var(--ex-rule); }
.ex-home-tools-panel .ex-home-menu-signin { display:none; }
/* Optional guidance floats over the app; choosing an example never adds a row. */
.explore-top .ex-home-guide { position:absolute; top:calc(100% + 10px); right:28px; width:min(480px,calc(100vw - 24px)); max-height:calc(100vh - 140px); max-height:calc(100dvh - 140px); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:16px; border:1px solid var(--ex-rule); border-radius:10px; box-shadow:0 14px 45px #193b3222; background:var(--ex-surface); }
.explore-top .ex-home-guide p { max-height:none; overflow:visible; }
@media(min-width:1700px) {
  .explore-top .ex-home-header { grid-template-columns:204px minmax(0,1fr) auto; gap:36px; padding-inline:32px; min-height:108px; }
  .ex-home-message p { font-size:14px; }
}
@media(max-width:1200px) {
  .explore-top .ex-home-header { grid-template-columns:28px minmax(0,1fr) auto; gap:20px; padding:14px 22px; min-height:90px; }
  .ex-home-wordmark,.ex-home-identity .ex-home-sample { display:none; }
  .ex-home-message { padding-left:18px; }
  .ex-home-message h1 { font-size:clamp(24px,2.65vw,32px); }
  .ex-home-message .ex-home-description { display:none; }
  .ex-home-message .ex-home-sample-compact { display:flex; }
  .explore-top .ex-home-header > .ex-home-actions { gap:12px; }
  .ex-home-header .ex-home-build { padding-inline:14px; gap:12px; font-size:13px!important; }
}
@media(max-width:1000px) {
  .ex-home-actions > .ex-home-signin { display:none; }
  .ex-home-tools-panel .ex-home-menu-signin { display:flex; }
}
@media(max-width:760px) {
  .explore-top .ex-home-header { gap:12px; padding:12px; min-height:88px; }
  .ex-home-message { padding-left:12px; }
  .ex-home-message h1 { font-size:24px; }
  .ex-home-message .ex-home-sample-compact { font-size:10px; margin-top:5px; gap:4px; }
  .explore-top .ex-home-header > .ex-home-actions { gap:6px; width:auto; }
  .ex-home-tools > summary { width:44px; padding:0; border:1px solid var(--ex-rule); }
  .ex-home-tools > summary > span,.ex-home-tools .ex-home-chevron { display:none; }
  .ex-home-tools .ex-home-ellipsis { display:block; }
  .ex-home-header .ex-home-build { font-size:12px!important; min-height:44px; padding:9px 12px; gap:8px; }
  .ex-home-tools-panel { position:fixed; top:100px; right:12px; }
  .explore-top .ex-home-guide { right:12px; }
}
@media(max-width:540px) {
  .ex-home-message h1 { font-size:20px; }
  .ex-home-message h1 > span { display:block; }
  .ex-home-message .ex-home-sample-compact > span { display:none; }
}
@media(max-width:420px) {
  .explore-top .ex-home-header { grid-template-columns:24px minmax(0,1fr) auto; gap:8px; padding-inline:10px; }
  .ex-home-identity .ex-brand img { width:24px; height:24px; }
  .ex-home-message { padding-left:9px; }
  .ex-home-message h1 { font-size:18px; }
  .ex-home-build-full,.ex-home-build-arrow { display:none; }
  .ex-home-build-short { display:inline; }
  .ex-home-header .ex-home-build { padding-inline:11px; }
}
@media(max-width:360px) { .ex-home-message h1 { font-size:16px; } }
@media(max-height:500px) {
  .explore-top .ex-home-header { min-height:76px; padding-block:8px; }
  .ex-home-tools-panel { position:fixed; top:86px; right:12px; max-height:calc(100vh - 98px); max-height:calc(100dvh - 98px); }
  .explore-top .ex-home-guide { position:fixed; top:86px; right:12px; max-height:calc(100vh - 98px); max-height:calc(100dvh - 98px); }
}
