/* The Crown, North Star — the eight questions as a notebook (chosen by
   Alexandru, 30 Oct 2026). The step and its questions on the left page, one
   question on the right, keys 1–4 and Enter. The tools wait in the Crown at
   the bottom while the questions are on screen. Steel blue, as the North Star
   is; the dark workspace is the same book at night. */

.nsb{--lf:#F5F8FB;--rt:#FFFFFF;--edge:#DCE4ED;--rule:#EEF2F6;--qink:#121C2D;--soft:#55657A;--acc:#3F6489;--hand:#3F6489;
  display:grid;grid-template-columns:380px minmax(0,1fr);border-radius:6px;box-shadow:0 1px 0 var(--edge),0 24px 60px rgba(18,28,45,.10);margin-top:8px}
.cf[data-theme="dark"] .nsb{--lf:#0F1A28;--rt:#132133;--edge:#2A3A50;--rule:#22324A;--qink:#EEF2F7;--soft:#A9B6C6;--acc:#A9C0D9;--hand:#A9C0D9;
  box-shadow:0 1px 0 var(--edge),0 24px 60px rgba(0,0,0,.4)}
.nsb-l{background:var(--lf);border-right:1px solid var(--edge);border-radius:6px 0 0 6px;padding:44px 36px 32px;display:flex;flex-direction:column;gap:14px;min-width:0}
.nsb-t{font-size:32px;line-height:1.1;color:var(--qink)}
.nsb-c{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:520;padding-bottom:12px;border-bottom:1px solid var(--edge)}
.nsb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.nsb-s{display:flex;gap:14px;width:calc(100% + 28px);margin:0 -14px;padding:8px 14px;border:1px solid transparent;border-radius:10px;background:none;text-align:left;color:var(--qink);cursor:pointer;font:inherit;transition:background .2s}
.nsb-s:hover{background:rgba(111,147,184,.08)}
.nsb-s.now{background:var(--rt);border-color:var(--edge)}
.nsb-n{flex:none;width:22px;font:400 15px/1.4 Newsreader,Georgia,serif}
.nsb-st{display:flex;flex-direction:column;gap:1px;min-width:0}
.nsb-st b{font-size:14px;font-weight:500;line-height:1.4;color:var(--soft)}
.nsb-s.done .nsb-st b,.nsb-s.now .nsb-st b{color:var(--qink)}
.nsb-s.now .nsb-st b{font-weight:600}
.nsb-st i{font:italic 400 13px/1.4 Newsreader,Georgia,serif;color:var(--soft)}
.nsb-st i:empty{display:none}
.nsb-x{display:none}

.nsb-r{background:var(--rt);border-radius:0 6px 6px 0;padding:44px 52px 26px;display:flex;flex-direction:column;gap:14px;min-width:0;outline:none}
.nsb-r:focus-visible{box-shadow:inset 0 0 0 2px #6F93B8}
.nsb-phone,.nsb-seg{display:none}
.nsb-lab{color:var(--acc)}
.nsb-body{display:grid;grid-template-columns:minmax(0,540px) minmax(180px,250px);gap:36px;align-items:start}
.nsb-q{font-size:30px;line-height:1.25;color:var(--qink);font-weight:400}
.nsb-p{margin-top:10px !important;font-size:14px;line-height:1.6;color:var(--soft)}
.nsb-opts{display:flex;flex-direction:column;margin-top:16px}
.nsb-o{display:flex;gap:14px;align-items:center;min-height:54px;padding:6px 12px;margin:0 -12px;border:0;border-bottom:1px solid var(--rule);border-radius:10px;background:none;
  text-align:left;color:var(--qink);cursor:pointer;font:400 16px/1.35 Inter,Arial,sans-serif;transition:background .2s}
.nsb-o:hover{background:rgba(111,147,184,.08)}
.nsb-o b{font-weight:520}
.nsb-o span span{color:var(--soft)}
.nsb-o kbd{flex:none;width:24px;height:24px;border-radius:6px;border:1px solid var(--edge);display:inline-flex;align-items:center;justify-content:center;font:500 12px Inter,Arial,sans-serif;color:var(--soft)}
.nsb-o[aria-pressed="true"]{background:rgba(111,147,184,.16);color:var(--acc)}
.nsb-o[aria-pressed="true"] b{font-weight:600}
.nsb-o[aria-pressed="true"] kbd{background:#6F93B8;border-color:#6F93B8;color:#0E1C2B}
.nsb-keys{margin-top:14px !important;font-size:13px;color:var(--soft)}
.nsb-keys kbd{font:500 12px Inter,Arial,sans-serif;padding:3px 8px;border-radius:6px;border:1px solid var(--edge);background:var(--lf);color:var(--qink)}
@media(hover:none){.nsb-keys{display:none}}
.nsb-note{margin-top:96px !important;font:400 20px/1.4 'La Belle Aurore','Segoe Script','Bradley Hand',cursive;color:var(--hand);transform:rotate(-1.5deg);animation:nsnote .5s ease both}
.nsb-note small{display:block;font:500 10px Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-bottom:4px;transform:rotate(1.5deg)}
@keyframes nsnote{from{opacity:0;transform:translateY(6px) rotate(-1.5deg)}to{opacity:1;transform:rotate(-1.5deg)}}
.nsb-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:110px;padding-top:20px;border-top:1px solid var(--rule)}
.nsb-back,.nsb-next{min-height:44px;padding:0 20px;border-radius:999px;font:500 14px/1 Inter,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.nsb-back{border:1px solid var(--edge);background:none;color:var(--qink)}
.nsb-back[disabled]{opacity:.35;cursor:default}
.nsb-next{border:0;background:#121C2D;color:#E7EEF6}
.cf[data-theme="dark"] .nsb-next{background:#6F93B8;color:#0E1C2B}

/* ── The Crown (outside .cf, on the body) ──────────────────────────────── */
.crown-wrap{--cb:max(22px,env(safe-area-inset-bottom,0px));--crx:50%;position:fixed;inset:0;z-index:85;pointer-events:none;font-family:Inter,Arial,sans-serif}
.crown-row{position:absolute;left:var(--crx);bottom:var(--cb);transform:translateX(-50%);display:flex;align-items:center;gap:28px;pointer-events:none;
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
body.ns-qview .crown-row{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease}
.crown{width:64px;height:64px;border-radius:50%;border:1.5px solid #A9C0D9;background:#121C2D;color:#A9C0D9;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(18,28,45,.25);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow .3s ease,transform .2s ease}
.crown:hover{transform:translateY(-1px)}
body.crownopen .crown{box-shadow:0 0 0 8px rgba(169,192,217,.2),0 8px 24px rgba(18,28,45,.25)}
.cw-pb{display:none;width:48px;height:48px;border-radius:50%;border:1px solid #DCE4ED;background:#FFFFFF;color:#121C2D;align-items:center;justify-content:center;cursor:pointer}
.cw-pb.nx{border:0;background:#6F93B8;color:#0E1C2B}
body.dark .cw-pb{background:#132133;border-color:#2A3A50;color:#EEF2F7}
body.dark .cw-pb.nx{background:#6F93B8;color:#0E1C2B}
.crown-veil{position:fixed;inset:0;border:0;background:rgba(14,22,36,.62);opacity:0;pointer-events:none;transition:opacity .3s ease;cursor:default}
body.crownopen .crown-veil{opacity:1;pointer-events:auto}
.crown-hint{position:absolute;left:var(--crx);bottom:calc(var(--cb) + 262px);width:min(560px,calc(100% - 48px));transform:translateX(-50%);margin:0;text-align:center;
  font:italic 400 17px/1.4 Newsreader,Georgia,serif;color:#EEF2F7;opacity:0;transition:opacity .3s ease}
body.crownopen .crown-hint{opacity:1}
.crown-arc{--r:172px;position:absolute;left:var(--crx);bottom:calc(var(--cb) + 32px);width:0;height:0}
.jw{position:absolute;left:-38px;top:-26px;width:76px;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;padding:0;cursor:pointer;
  font:500 11px/1.2 Inter,Arial,sans-serif;color:#EEF2F7;text-align:center;text-decoration:none;
  opacity:0;visibility:hidden;pointer-events:none;transform:scale(.6);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility 0s linear .35s}
body.crownopen .jw{opacity:1;visibility:visible;pointer-events:auto;transform:translate(calc(var(--cx) * var(--r)),calc(var(--cy) * var(--r)));
  transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
.jw-i{width:52px;height:52px;border-radius:50%;background:#F5F8FB;color:#3F6489;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.jw:hover .jw-i,.jw:focus-visible .jw-i,.jw[aria-pressed="true"] .jw-i{background:#A9C0D9;color:#121C2D}
.jw:focus-visible{outline:none}
.jw:focus-visible .jw-i{box-shadow:0 0 0 3px #EEF2F7}
/* The music player, when opened from the Crown, sits clear of it. */
.mp{z-index:86}

@media(max-width:1180px){
  .nsb{grid-template-columns:320px minmax(0,1fr)}
  .nsb-l{padding:38px 28px 28px}
  .nsb-r{padding:38px 36px 24px}
  .nsb-body{display:block}
  .nsb-note{margin-top:14px !important;font-size:20px}
}
@media(max-width:860px){
  body.ns-qview .mbar{visibility:hidden}
  .mp{bottom:76px}
}
@media(max-width:760px){
  .crown-wrap{--cb:calc(max(6px,env(safe-area-inset-bottom,0px)) + 20px)}
  .nsb{display:block;box-shadow:none;margin:0 -6px}
  .nsb-r{border-radius:6px;padding:16px 18px 110px;border:1px solid var(--edge)}
  .nsb-l{position:fixed;inset:0;z-index:96;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:0;padding:60px 24px 40px;
    transform:translateY(100%);visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s}
  body.nsb-open .nsb-l{transform:none;visibility:visible;transition:transform .35s ease}
  .nsb-x{display:block;position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--qink);font-size:26px;line-height:1;cursor:pointer}
  .nsb-phone{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px 0;border:0;background:none;text-align:left;font-size:12px;color:var(--soft);cursor:pointer}
  .nsb-phone span:first-child{display:flex;align-items:center;gap:8px;min-width:0}
  .nsb-phone i{flex:none;width:6px;height:6px;border-radius:50%;background:#6F93B8}
  .nsb-phone span:last-child{color:var(--acc);white-space:nowrap}
  .nsb-seg{display:flex;gap:4px;margin-top:-6px}
  .nsb-seg i{flex:1;height:2px;background:var(--rule)}
  .nsb-seg i.done{background:#6F93B8}
  .nsb-seg i.now{background:var(--acc)}
  .nsb-lab{margin-top:14px}
  .nsb-q{font-size:26px;line-height:1.22}
  .nsb-o{font-size:15px}
  .nsb-note{font-size:20px;transform:rotate(-1.5deg)}
  .nsb-foot{display:none}
  .cw-pb{display:flex}
  body.crownopen .cw-pb{visibility:hidden}
  body.ns-qview .mp-pill{display:none}
  .crown-arc{--r:140px}
  .jw{width:70px;left:-35px}
  .crown-hint{bottom:calc(var(--cb) + 236px)}
}
@media(max-width:360px){.crown-arc{--r:136px}.jw{width:66px;left:-33px}}
.nsb-note{}
@media(prefers-reduced-motion:reduce){.nsb-note{animation:none}.jw,.crown,.crown-row,.crown-veil,.crown-hint,.nsb-l,.nsb-s,.nsb-o{transition:none !important}}
@media print{.crown-wrap{display:none !important}.nsb{box-shadow:none}}

/* While the questions are on screen, the launchpad banner steps aside so it
   never sits over the book (31 Oct). It returns below the questions. */
#banner{transition:opacity .3s ease,visibility 0s linear 0s}
body.ns-qview #banner{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}
.nsb-dot{flex:none;width:9px;height:9px;border-radius:50%}
[data-fs][hidden]{display:none !important}
@media(prefers-reduced-motion:reduce){#banner{transition:none !important}}
#s-reading{scroll-margin-top:150px}
@media(max-width:860px){#s-reading{scroll-margin-top:20px}}

/* ── The path (31 Oct): Before you start, then Parts 1–4 ───────────────── */
/* One fewer thing on the top bar: with an account, light/dark and Make it
   yours live in the initials menu. */
/* 31 Oct: light/dark always stays in the top bar; the workspace button hides
   while the menu is there, because "Make it yours" is in the menu. */
#top-tools:has(.pm) #ws-btn{display:none !important}
.nsprog:empty{display:none}
.nsprog{margin:0 -22px;padding:8px 28px 10px;border-bottom:1px solid var(--line);background:var(--panel)}
.nsprog-in{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"parts pct" "bar bar";gap:6px 14px;align-items:center}
.nsprog-parts{grid-area:parts;list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}
.nsprog-parts::-webkit-scrollbar{display:none}
.nsprog-parts li{flex:none}
.nsprog-parts li.arr{width:18px;height:1px;background:var(--line);position:relative}
.nsprog-parts li.arr::after{content:"";position:absolute;right:-1px;top:-3px;border:3.5px solid transparent;border-left:5px solid var(--line)}
.nsprog-parts button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:2px 10px 2px 3px;border:1px solid transparent;border-radius:999px;background:none;color:var(--muted);font:500 12.5px Inter,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.nsprog-parts i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 11px Inter,Arial,sans-serif;font-style:normal;border:1.5px solid var(--line);color:var(--muted)}
.nsprog-parts li.now button{color:var(--ink);border-color:#6F93B8;background:rgba(111,147,184,.1)}
.nsprog-parts li.now i{background:#6F93B8;border-color:#6F93B8;color:#0E1C2B;animation:nsbeat 2.4s ease-in-out infinite}
.nsprog-parts li.done button{color:var(--ink)}
.nsprog-parts li.done i{background:#3E6A94;border-color:#3E6A94;color:#fff}
@keyframes nsbeat{0%,100%{box-shadow:0 0 0 0 rgba(111,147,184,.5)}50%{box-shadow:0 0 0 5px rgba(111,147,184,0)}}
.nsprog-bar{grid-area:bar;height:4px;border-radius:4px;background:var(--cream);overflow:hidden}
.nsprog-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#3E6A94,#6F93B8);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.nsprog-pct{grid-area:pct;font:500 20px Newsreader,Georgia,serif;color:var(--goldink);font-variant-numeric:tabular-nums}

/* Later parts wait, visibly, until the one before is done. */
.nslocked>*:not(.nslocknote){opacity:.38;filter:saturate(.4);transition:opacity .5s ease}
.nslocked{cursor:not-allowed}
.nslocknote{display:flex;align-items:center;gap:8px;margin:0;padding:10px 14px;border-radius:999px;border:1px dashed var(--line);font-size:13px;color:var(--muted);align-self:flex-start;background:var(--paper)}
.nslocknote::before{content:"";width:12px;height:12px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3h1v10H6V11zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3h1v10H6V11zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat}

/* The thing still open, pulsing three times when the guide arrives. */
.nsflash{animation:nsflash .7s ease-in-out 3;border-radius:10px}
@keyframes nsflash{0%,100%{box-shadow:0 0 0 0 rgba(196,84,58,0)}50%{box-shadow:0 0 0 4px rgba(196,84,58,.75),0 0 24px rgba(196,84,58,.35)}}

/* The road: a hand that swipes until a goal is chosen. */
.nshand{position:absolute;top:58%;left:var(--from);z-index:3;pointer-events:none;animation:nshand 2.6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}
@keyframes nshand{0%{left:var(--from);opacity:0}15%{opacity:1}55%{left:var(--to);opacity:1}75%{left:var(--to);opacity:0}100%{left:var(--from);opacity:0}}

/* The compass, readable: names outside the circle, a big key. */
.nscompbox{border-radius:10px;padding:18px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.nscompass{flex:1 1 300px;max-width:460px;height:auto}
.nscompass .cl{font:700 19px Inter,Arial,sans-serif;letter-spacing:.04em}
.nskey{flex:1 1 220px;display:flex;flex-direction:column;gap:10px;color:#EEF2F7}
.nskey span{display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:center}
.nskey b{font:500 20px/1.2 Newsreader,Georgia,serif}
.nskey small{grid-column:2;font-size:13px;color:#A9B6C6}
.nskey i{grid-row:span 2;width:30px;height:16px;border-radius:3px}
.nskey .k-ans{background:rgba(111,147,184,.4);border:2.5px solid #6F93B8}
.nskey .k-str{border:2px dashed #EEF2F7}
.nskey p{margin:4px 0 0;font:italic 400 16px/1.45 Newsreader,Georgia,serif;color:#E3EAF2}
.nsreading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.nsread{display:flex;flex-direction:column;gap:2px;color:#EEF2F7}
.nsread b{font-size:20px;font-weight:440}
.nsread span:not(.eb){font-size:14px;color:#E3EAF2}
@media(max-width:860px){.nsreading{grid-template-columns:1fr}}

/* The notebook's list: a line that fills as questions are answered. */
.nsb-list{position:relative}
.nsb-list::before,.nsb-list::after{content:"";position:absolute;left:10px;top:18px;width:2px;border-radius:2px}
.nsb-list::before{bottom:18px;background:var(--edge)}
.nsb-list::after{height:calc((100% - 36px) * var(--fill, 0%) / 100%);max-height:calc(100% - 36px);background:#6F93B8;transition:height .6s cubic-bezier(.2,.8,.2,1)}
.nsb-list .nsb-s{position:relative;z-index:1}
.nsb-n{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 11px Inter,Arial,sans-serif !important;background:var(--lf);border:1.5px solid var(--edge);color:var(--soft) !important;margin-left:-1px}
.nsb-s.done .nsb-n{background:#3E6A94;border-color:#3E6A94;color:#fff !important}
.nsb-s.now .nsb-n{background:#6F93B8;border-color:#6F93B8;color:#0E1C2B !important}
.nsb-s.missed .nsb-n{border-color:#C4543A;color:#C4543A !important}
.nsb-s.missed .nsb-st i{color:#C4543A;font-style:normal;font-size:12px;font-weight:600}
.nsb-s.done .nsb-st i{color:#3E6A94}
.cf[data-theme="dark"] .nsb-s.done .nsb-st i{color:#A9C0D9}

/* A domain's level on its feedback card, read as a level, not progress. */
.nslevel{display:inline-flex;align-items:baseline;gap:4px;padding:3px 10px;border-radius:999px;border:1px solid var(--c);color:var(--c);font-size:12px;font-weight:520}
.nslevel b{font:500 16px Newsreader,Georgia,serif}

/* The save bar waits until Part 1 is done. */
body:not(.ns-p1done) .mbar{display:none !important}

@media(max-width:760px){
  .nsprog{margin:0 -16px;padding:6px 12px 8px}
  .nsprog-parts li:not(.now) span{display:none}
  .nsprog-parts li:not(.now) button{padding:2px}
  .nsprog-pct{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.nshand,.nsprog-parts li.now i,.nsflash{animation:none !important}.nsflash{box-shadow:0 0 0 3px #C4543A}.nsb-list::after,.nsprog-bar i{transition:none}}
/* The path bar replaces the old sticky launchpad banner (it sat over the page). */
#banner{position:static !important}
@media(max-width:860px){.side .navl{display:none}}
/* Before you start, on a phone: the four stages as small taps, two by two. */
@media(max-width:760px){
  [role="group"][aria-label="Where are you today?"]{grid-template-columns:1fr 1fr !important;gap:8px !important}
  [data-act="here"]{padding:10px 12px !important;min-height:0 !important;gap:2px !important}
  [data-act="here"] .serif{display:none}
  [data-act="here"] .stname{font-size:19px !important}
}

/* ── 31 Oct, round 3 ─────────────────────────────────────────────────────── */
/* A word between questions. */
.nsspark{margin-top:18px;padding:12px 14px;border-left:3px solid #B4975F;background:rgba(180,151,95,.08);border-radius:0 8px 8px 0;animation:nsnote .5s ease .15s both}
.nsspark small{display:block;font:500 10px Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8A6A2F;margin-bottom:4px}
.nsspark p{margin:0;font-size:18px;line-height:1.35;color:var(--ink)}
.nsspark span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.cf[data-theme="dark"] .nsspark small{color:#D6BF8F}
/* The sealed answers on the compass, before Part 1. */
.nsseal{animation:nsseal 3.2s ease-in-out infinite;transform-origin:280px 250px}
@keyframes nsseal{0%,100%{opacity:.75}50%{opacity:1}}
.k-ans.sealed{background:repeating-linear-gradient(135deg,rgba(111,147,184,.35) 0 4px,transparent 4px 8px);border:2px dashed #6F93B8}
.nskey p.nsdare{font:400 15px/1.5 Inter,Arial,sans-serif;color:#D9E2EC;padding:12px 14px;border:1px dashed rgba(111,147,184,.6);border-radius:8px}
.nskey p.nsdare b{display:block;font:italic 500 18px/1.3 Newsreader,Georgia,serif;color:#EEF2F7;margin-bottom:2px}
/* The line between two parts. */
.nsdiv{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center;margin:34px 0 -4px;padding:18px 0 14px;border-top:2px solid var(--goldink);position:relative}
.nsdiv::before{content:"";position:absolute;left:0;top:-6px;width:10px;height:10px;transform:rotate(45deg);background:var(--goldink)}
.nsdiv-n{grid-row:span 2;font:600 12px Inter,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#0E1C2B;background:#6F93B8;border-radius:999px;padding:8px 14px}
.nsdiv-t{font-size:clamp(26px,3.2vw,36px);line-height:1.05;color:var(--ink)}
.nsdiv-l{font-size:14px;color:var(--muted)}
/* The feedback window: its own warm colour, the same shape after every part. */
.nsfbw{--fbbg:#FBF6EC;--fbline:#E4D3AE;--fbink:#2A2216;--fbsoft:#6B5A3C;--fbacc:#8A6A2F;background:var(--fbbg);border:1px solid var(--fbline);border-left:5px solid #B4975F;border-radius:12px;padding:26px;display:flex;flex-direction:column;gap:20px;color:var(--fbink)}
.cf[data-theme="dark"] .nsfbw{--fbbg:#1E1912;--fbline:rgba(214,191,143,.35);--fbink:#F6EEDD;--fbsoft:#CDBB97;--fbacc:#D6BF8F}
.nsfbw .card{background:rgba(255,255,255,.7)}
.cf[data-theme="dark"] .nsfbw .card{background:rgba(255,255,255,.04)}
.fbeb,.nsfbw .eb{color:var(--fbacc) !important}
.fbhead{display:flex;flex-direction:column;gap:6px;max-width:720px}
.fbhead h2{font-size:clamp(28px,3.4vw,40px);line-height:1.05;color:var(--fbink)}
.fbhead p{color:var(--fbsoft);font-size:15px}
.fbroad{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;position:relative}
.fbroad::before{content:"";position:absolute;left:18px;right:18px;top:18px;height:2px;background:repeating-linear-gradient(90deg,var(--fbline) 0 8px,transparent 8px 14px)}
.fbroad li{position:relative;display:flex;flex-direction:column;gap:8px}
.fbroad li>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:9px;border:1px solid var(--fbline);background:rgba(255,255,255,.55);flex:1}
.cf[data-theme="dark"] .fbroad li>div{background:rgba(255,255,255,.03)}
.fbn{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 14px Inter,Arial,sans-serif;background:var(--fbbg);border:2px solid var(--fbline);color:var(--fbsoft)}
.fbroad li.done .fbn{background:#B4975F;border-color:#B4975F;color:#1C1309}
.fbroad li.here .fbn{background:#6F93B8;border-color:#6F93B8;color:#0E1C2B;box-shadow:0 0 0 6px rgba(111,147,184,.25);animation:fbhere 2.4s ease-in-out infinite}
@keyframes fbhere{0%,100%{box-shadow:0 0 0 4px rgba(111,147,184,.25)}50%{box-shadow:0 0 0 10px rgba(111,147,184,.08)}}
.fbroad li.here>div{border-color:#6F93B8;box-shadow:0 10px 24px rgba(62,106,148,.14)}
.fbroad li.next>div{opacity:.78}
.fbst{font:600 10px Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--fbsoft)}
.fbroad li.here .fbst{color:#3E6A94}
.cf[data-theme="dark"] .fbroad li.here .fbst{color:#A9C0D9}
.fbroad b{font-size:18px;line-height:1.2;color:var(--fbink);font-weight:500}
.fbl{font-size:12.5px;color:var(--fbsoft);line-height:1.45}
.fbnote{font-size:13.5px;line-height:1.45;color:var(--fbink);border-top:1px dashed var(--fbline);padding-top:8px;margin-top:2px}
.fbchip{display:inline-block;font:600 10px Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--c);border-radius:999px;padding:3px 8px;margin:0 6px 4px 0;vertical-align:1px}
.fbcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.fbcard{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:9px;border:1px solid var(--fbline);background:rgba(255,255,255,.6)}
.cf[data-theme="dark"] .fbcard{background:rgba(255,255,255,.04)}
.fbcard p{margin:0;display:flex;flex-direction:column;font-size:14px;color:var(--fbink)}
.fbcard p small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fbsoft)}
.fbcard b.sf{font-size:20px;line-height:1.25;color:var(--fbink);font-weight:440}
.fbsoft{font-size:14px;color:var(--fbsoft) !important}
.fbask{background:#2B1B12 !important;border-color:#2B1B12;color:#F6EEDD}
.fbask .eb{color:#D6BF8F !important}
.fbask .sfi{font-size:19px;line-height:1.35}
.fbgot{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px 12px;border:1px solid rgba(214,191,143,.4);border-radius:6px;cursor:pointer;font-size:14px}
.fbgot input{width:20px;height:20px;accent-color:#B4975F}
.fbmore{align-self:flex-start;min-height:44px;padding:0 16px;border-radius:6px;border:1px solid #B4975F;background:transparent;color:var(--fbacc);font-weight:520;cursor:pointer}
.fbmore:hover{background:rgba(180,151,95,.1)}
.fbdeep{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:9px;border:1px dashed var(--fbline)}
.fbdeep p{margin:0;font-size:14.5px;line-height:1.6;color:var(--fbink)}
.fbcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.fbcols>div{display:flex;flex-direction:column;gap:8px}
.fblist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.fblist li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;padding:8px 0;border-bottom:1px solid var(--fbline);font-size:14px}
.fblist b{font-weight:560;color:var(--fbink)}
.fblist span{font-size:12px;color:var(--fbacc);font-weight:600}
.fblist i{grid-column:1/-1;font-style:normal;color:var(--fbsoft)}
.fbnext{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;border-radius:10px;background:#0E1C2B;color:#EEF2F7}
.fbnext p{flex:1 1 360px;margin:0;font-size:20px;line-height:1.35}
.fbgo{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 22px;border-radius:5px;border:0;background:#D6BF8F;color:#1C1309;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none}
.fbroadwrap{display:flex;flex-direction:column;gap:12px}
.fbtease{border:1px solid rgba(214,191,143,.45)}
@media(max-width:900px){.fbroad{grid-template-columns:1fr}.fbroad::before{left:17px;right:auto;top:18px;bottom:18px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--fbline) 0 8px,transparent 8px 14px)}.fbroad li{flex-direction:row;align-items:flex-start}.fbroad li>div{flex:1}.nsfbw{padding:18px}}
/* Part 2. */
.p2team,.p2q{--rule:var(--line);--soft:var(--muted);--acc:var(--goldink);--edge:var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.p2team h3,.p2q h3{font-size:22px;line-height:1.25;font-weight:440}
.p2p{color:var(--muted);font-size:14px;margin:0}
.p2opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;margin-top:6px}
.p2opts .nsb-o{margin:0;border:1px solid var(--line);min-height:50px;text-align:left;color:var(--ink);cursor:pointer}
.p2note{margin:6px 0 0;padding:10px 12px;border-left:3px solid #6F93B8;background:rgba(111,147,184,.08);border-radius:0 6px 6px 0;font:400 18px/1.4 'La Belle Aurore','Segoe Script','Bradley Hand',cursive;color:var(--goldink)}
.p2note small{display:block;font:500 10px Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.p2grp{margin-top:10px}
/* The twelve weeks: the free three in gold. */
.wfree{height:34px;border-radius:3px;background:linear-gradient(135deg,#B4975F,#D6BF8F);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(246,238,221,.5) inset;animation:cellIn .6s cubic-bezier(.2,.7,.2,1) both,wfree 2.6s ease-in-out infinite}
.wfree b{font:700 9px Inter,Arial,sans-serif;letter-spacing:.14em;color:#1C1309}
@keyframes wfree{0%,100%{box-shadow:0 0 0 1px rgba(246,238,221,.5) inset,0 0 0 rgba(214,191,143,0)}50%{box-shadow:0 0 0 1px rgba(246,238,221,.8) inset,0 0 16px rgba(214,191,143,.55)}}
.wfree-line{display:flex;align-items:center;gap:10px;margin:2px 0 0;font-size:15px;color:#F6EEDD}
.wfree-line b{color:#D6BF8F}
.wfree-dot{width:14px;height:14px;border-radius:3px;background:linear-gradient(135deg,#B4975F,#D6BF8F);flex:none}
.wfree-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 20px;border-radius:10px;border:1px solid rgba(214,191,143,.55);background:linear-gradient(120deg,rgba(43,27,18,.9),rgba(28,19,9,.9))}
/* The climb: every stop's sentence visible from the start. */
.climbstops{display:flex;flex-direction:column;gap:6px}
.climbstops button{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:10px 12px;border-radius:7px;border:1px solid #2A3A50;background:transparent;color:#EEF2F7;cursor:pointer}
.climbstops button[aria-pressed="true"]{border-color:#D6BF8F;background:linear-gradient(120deg,#2B1B12,#1C1309)}
.climbstops .cn{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid #D6BF8F;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#D6BF8F}
.climbstops b{display:block;font-weight:560;font-size:14px}
.climbstops i{display:block;font:italic 400 15px/1.35 Newsreader,Georgia,serif;color:#D6BF8F}
.climbstops em{font-style:normal;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#D6BF8F;color:#1C1309;margin-left:6px;vertical-align:2px}
.climbstops em.cg{background:transparent;border:1px solid #D6BF8F;color:#D6BF8F}
.climbstops .cfree{border-color:rgba(214,191,143,.6)}
/* The Blueprint button in the menu, once the founder reaches the twelve weeks. */
.incub-link.nsbeckon{animation:nsbeckon 1.8s ease-in-out infinite}
@keyframes nsbeckon{0%,100%{box-shadow:inset 0 0 0 3px #1C1309,inset 0 0 0 4px rgba(214,191,143,.25),0 0 0 0 rgba(214,191,143,0)}50%{box-shadow:inset 0 0 0 3px #1C1309,inset 0 0 0 4px rgba(214,191,143,.6),0 0 22px 4px rgba(214,191,143,.55)}}
/* The lab: what each lever alone moves, and a pulse on each answer that moved. */
.wmoves{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.wmoves:empty{display:none}
.wm-k{font-size:11px;letter-spacing:.08em;color:#A9B6C6;align-self:center}
.wm{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid #2A3A50;color:#B8C6D6}
.wm b{font-weight:600}
.wm.up{border-color:rgba(155,192,161,.6);color:#9BC0A1}
.wm.down{border-color:rgba(224,162,130,.6);color:#E0A282}
.wcard.wbump{animation:wbump .7s ease}
@keyframes wbump{0%{box-shadow:0 0 0 0 rgba(111,147,184,0)}35%{box-shadow:0 0 0 3px rgba(111,147,184,.65),0 0 22px rgba(111,147,184,.35)}100%{box-shadow:0 0 0 0 rgba(111,147,184,0)}}
.labdeep{display:flex;flex-direction:column;gap:14px}
.labdeep-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.jnywrap{border:1px solid #6F93B8;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px;background:rgba(111,147,184,.08)}
/* The plan as one journey across the screen. */
.jny{display:flex;flex-direction:column;gap:16px}
.jny-head{display:flex;flex-direction:column;gap:4px}
.jny-head .sf{font-size:21px;line-height:1.3;color:#EEF2F7}
.jny-head b{color:#D6BF8F;font-weight:500}
.jny-road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
.jny-road::before,.jny-road::after{content:"";position:absolute;left:18px;top:18px;height:3px;border-radius:2px}
.jny-road::before{right:18px;background:repeating-linear-gradient(90deg,#2A3A50 0 8px,transparent 8px 14px)}
.jny-road::after{width:calc((100% - 36px) * var(--p));background:#D6BF8F;box-shadow:0 0 12px rgba(214,191,143,.6);transition:width .8s ease}
.jny-road li{position:relative;display:flex;flex-direction:column;gap:6px;padding-top:48px;color:#EEF2F7}
.jn{position:absolute;top:0;left:0;z-index:1;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0E1C2B;border:2px solid #6F93B8;color:#A9C0D9;font-weight:600}
.jny-road li.done .jn{background:#D6BF8F;border-color:#D6BF8F;color:#1C1309}
.jny-road li.next .jn{box-shadow:0 0 0 6px rgba(111,147,184,.3);animation:fbhere 2.4s ease-in-out infinite}
.jny-road b{font:500 18px/1.25 Newsreader,Georgia,serif}
.jny-road p{margin:0;font-size:13.5px;line-height:1.5;color:#B8C6D6}
.jny-road .jt{font-size:12.5px;color:#A9C0D9}
.jny-road em{font-style:normal;font-weight:600;color:#EEF2F7}
.jstop{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#A9C0D9}
.jstop i{font-style:normal;color:#D6BF8F}
.jask{font-size:16px !important;color:#EEF2F7 !important}
.jny-road li{padding:48px 14px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid #2A3A50}
.jny-road li.done{border-color:rgba(214,191,143,.45)}
.jny-road li.next{border-color:#6F93B8;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.jny-road .jn{left:14px;top:-2px}
.jny-road .jd{padding:8px 10px;border-radius:6px;background:rgba(214,191,143,.08);border:1px solid rgba(214,191,143,.25);color:#F6EEDD}
.jny-road .jd small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#D6BF8F}
.jtick{display:flex;align-items:center;gap:8px;align-self:flex-start;margin-top:4px;padding:8px 10px;border:1px solid #2A3A50;border-radius:6px;cursor:pointer;font-size:14px}
.jtick input{width:20px;height:20px;accent-color:#D6BF8F}
.jny-end{margin:0;font:italic 400 17px/1.4 Newsreader,Georgia,serif;color:#D6BF8F}
@media(max-width:860px){.jny-road{grid-template-columns:1fr}.jny-road::before,.jny-road::after{left:30px;top:30px;bottom:30px;right:auto;width:3px;height:auto}.jny-road::after{height:calc((100% - 36px) * var(--p));width:3px}.jny-road li{padding:14px 14px 14px 64px}.jny-road .jn{left:12px;top:12px}.wswitch{grid-template-columns:1fr 1fr 1fr}}
@media(prefers-reduced-motion:reduce){.nsseal,.fbroad li.here .fbn,.wfree,.incub-link.nsbeckon,.wcard.wbump,.jny-road li.next .jn,.nsspark{animation:none}}

/* ── 31 Oct, round 4 ─────────────────────────────────────────────────────── */
/* Handwritten notes, easier to read (Caveat). */
.nsb-note,.p2note{font-family:Caveat,'Segoe Print','Bradley Hand',cursive !important;font-weight:500;font-size:25px !important;line-height:1.22 !important;transform:none !important;letter-spacing:.005em}
.nsb-note small,.p2note small{transform:none}
/* Your shape, growing live in the corner of the question page. */
.nsb-r{position:relative}
.nsmini{position:absolute;top:22px;right:26px;width:92px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--qink);pointer-events:none}
.nsmini svg{width:100%;height:auto}
.nsmini span{font:500 9.5px Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.nsmini-p{transition:all .5s ease}
.nsq-x,.nsq-start{display:none}
/* The feedback letter. */
.fbletter{position:relative;display:flex;flex-direction:column;gap:10px;max-width:720px;padding:26px 28px 20px;border-radius:4px;background:#FFFDF8;border:1px solid var(--fbline);box-shadow:0 1px 0 rgba(0,0,0,.03),0 18px 40px rgba(62,46,20,.10);color:#2A2216}
.cf[data-theme="dark"] .fbletter{background:#F7F1E3;color:#2A2216}
.fbletter p{margin:0;font:400 18px/1.55 Newsreader,Georgia,serif}
.fbletter .fbl-hi{font-style:italic;color:#6B5A3C}
.fbletter .fbl-ps{font-size:16.5px;color:#4A3D28}
.fbletter .fbl-ps b{font-family:Inter,Arial,sans-serif;font-size:12px;letter-spacing:.1em;color:#8A6A2F}
.fbl-sign{display:flex;align-items:center;gap:12px;margin-top:2px}
.fbl-sign img{height:52px;width:auto}
.fbl-sign span{font-size:12px;color:#8A7A5E;letter-spacing:.04em}
.fbletter .fbgot{border:0;padding:6px 0 0;color:#2A2216;margin-top:4px}
.nsfbw.inner{border:0;padding:0;background:none;margin-top:6px}
/* The road, as stars. */
.fbn{background:none !important;border:0 !important;box-shadow:none !important;width:40px;height:40px;animation:none !important;display:inline-flex;align-items:center;justify-content:center;position:relative}
.fbn svg{position:absolute;inset:0;width:40px;height:40px;fill:var(--fbbg);stroke:var(--fbline);stroke-width:1.5}
.fbn i{position:relative;font:600 11px Inter,Arial,sans-serif;font-style:normal;color:var(--fbsoft)}
.fbroad li.done .fbn svg{fill:#D6BF8F;stroke:#B4975F}
.fbroad li.done .fbn i{color:#1C1309}
.fbroad li.here .fbn svg{fill:#6F93B8;stroke:#A9C0D9;filter:drop-shadow(0 0 8px rgba(111,147,184,.8));animation:fbstar 2.4s ease-in-out infinite}
.fbroad li.here .fbn i{color:#0E1C2B}
@keyframes fbstar{0%,100%{filter:drop-shadow(0 0 4px rgba(111,147,184,.6))}50%{filter:drop-shadow(0 0 14px rgba(111,147,184,.95))}}
.fbroad::before{background:linear-gradient(90deg,#D6BF8F,rgba(214,191,143,.25)) !important;height:1.5px !important;top:20px !important}
@media(max-width:900px){.fbroad::before{width:1.5px !important;height:auto !important;left:19px !important;background:linear-gradient(180deg,#D6BF8F,rgba(214,191,143,.25)) !important}}
/* Lighter ticks: no heavy frames around Done and Got it. */
.fbgot{border:0 !important;padding:6px 0 !important}
.jtick{border:0 !important;padding:6px 0 !important}
/* The full-screen button, flashed once a few minutes into the questions. */
[data-fs].fsflash{animation:fsflash .8s ease-in-out 4}
@keyframes fsflash{0%,100%{box-shadow:0 0 0 0 rgba(111,147,184,0)}50%{box-shadow:0 0 0 5px rgba(111,147,184,.75),0 0 20px rgba(111,147,184,.55)}}
/* The lab before the numbers: open, and a red flash that points up. */
.wlab.locked .wpair{opacity:1 !important;filter:none !important}
.wlab.wred .wcard{animation:wred .7s ease-in-out 3}
.wlab.wred input[type=range]{accent-color:#D9534F}
#wlock.wred{animation:wred .7s ease-in-out 3;border-color:#D9534F}
@keyframes wred{0%,100%{box-shadow:0 0 0 0 rgba(217,83,79,0)}50%{box-shadow:0 0 0 3px rgba(217,83,79,.9),0 0 26px rgba(217,83,79,.5);background-color:rgba(217,83,79,.12)}}
/* Numbers on sliders. */
.nslide{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper)}
.nslide.set{border-color:#6F93B8}
.nsl-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.nsl-top label{font-size:13px;font-weight:520}
.nsl-val{font-size:22px;line-height:1.1;color:var(--goldink);text-align:right}
.nslide:not(.set) .nsl-val{font:italic 400 15px Newsreader,Georgia,serif;color:var(--muted)}
.nsl-range{width:100%;accent-color:#6F93B8;height:30px;cursor:pointer}
.nsl-range.unset{accent-color:#A9B6C6;opacity:.75}
.nsl-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:-4px}
.nsl-chips{display:flex;flex-wrap:wrap;gap:6px}
.nsl-chips button{min-height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer}
.nsl-chips button[aria-pressed="true"]{background:#6F93B8;border-color:#6F93B8;color:#0E1C2B;font-weight:600}
.nsl-alt{display:flex;gap:14px;flex-wrap:wrap}
.nsl-alt button{border:0;background:none;padding:4px 0;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nsl-alt button[aria-pressed="true"]{color:var(--goldink);font-weight:600}
.nslide.glowbox{animation:wglow 1s ease-in-out 4;border-color:#6F93B8}
/* Your North Star card. */
.nscardsec{background:var(--paper)}
.nscard-wrap{flex:0 1 380px;min-width:240px;max-width:100%}
.nscard svg{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 24px 50px rgba(14,28,43,.28)}
.nscard.empty{aspect-ratio:4/5;border-radius:14px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);background:linear-gradient(#0E1C2B,#1B2B40);color:#A9C0D9}
.nscard-side{flex:1 1 320px;display:flex;flex-direction:column;gap:12px;min-width:0}
.nslink{border:0;background:none;padding:6px 0;color:var(--goldink);font-weight:520;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
/* One ending, one button. */
.nsnext{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:46px 24px;border-radius:14px;background:radial-gradient(ellipse at top,#1B2B40,#0E1C2B 70%);color:#EEF2F7;border:1px solid rgba(214,191,143,.45)}
.nsnext h2{font-size:clamp(30px,4.4vw,48px);line-height:1.05;color:#EEF2F7}
.nsnext h2 .sfi{color:#D6BF8F}
.nsnext p{max-width:560px;color:#D9E2EC;font-size:16px;line-height:1.6;margin:0}
.nsnext-go{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 28px;border-radius:5px;background:#D6BF8F;color:#1C1309;font-weight:600;font-size:16px;text-decoration:none;box-shadow:0 12px 28px rgba(214,191,143,.25)}
.nsnext-all{border:0;background:none;color:#A9C0D9;font-size:14px;padding:8px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#s-options[hidden]{display:none !important}
/* The free weeks keep their colour, framed in gold. */
.wfree{background:var(--wc) !important;border:2px solid #D6BF8F;box-sizing:border-box}
.wfree b{background:#D6BF8F;color:#1C1309;border-radius:3px;padding:2px 5px;font-size:8px}
.wfree-dot{background:transparent !important;border:2px solid #D6BF8F}
/* The chosen stop on the climb opens right under it. */
.climbcard{margin:2px 0 6px}
/* The phone: one question per screen, full screen, like the Blueprint. */
@media(max-width:760px){
  .nsq-start{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:12px;background:radial-gradient(ellipse at top,#1B2B40,#0E1C2B 75%);color:#EEF2F7;border:1px solid rgba(111,147,184,.5);box-shadow:0 18px 40px rgba(14,28,43,.25)}
  .nsq-start .eb{color:#A9C0D9}
  .nsq-start b{font:400 26px/1.15 Newsreader,Georgia,serif}
  .nsq-start b .sfi{color:#A9C0D9}
  .nsq-start>span:not(.eb){font-size:14.5px;color:#D9E2EC}
  .nsq-start .go{margin-top:6px;min-height:52px;border:0;border-radius:6px;background:#6F93B8;color:#0E1C2B;font-weight:600;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
  body:not(.nsq-full) .nsb{display:none}
  body.nsq-full .nsb{position:fixed;inset:0;z-index:80;margin:0;overflow-y:auto;overscroll-behavior:contain;background:var(--rt);display:block}
  body.nsq-full .nsb-r{min-height:100svh;border:0;border-radius:0;padding:12px 18px 128px}
  body.nsq-full{overflow:hidden}
  body.nsq-full #acct-gate{z-index:99}
  body.nsq-full #toast{z-index:100}
  .nsq-x{display:block;position:absolute;top:8px;right:8px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--qink);font-size:28px;line-height:1;cursor:pointer}
  .nsb-phone{padding-right:44px}
  .nsmini{top:52px;right:14px;width:56px}
  .nsmini span{display:none}
  .nsb-lab{margin-top:10px;padding-right:62px}
  .nsb-q{font-size:22px !important;line-height:1.25 !important;padding-right:52px}
  .nsb-p{font-size:14px;margin-top:4px}
  .nsb-opts{margin-top:10px}
  .nsb-o{min-height:48px;padding:4px 10px}
  .nsb-note{margin-top:12px !important;font-size:23px !important}
  .nsspark{margin-top:10px;padding:10px 12px}
  .nsspark p{font-size:16px}
  .nscard-wrap{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){.fbroad li.here .fbn svg,[data-fs].fsflash,.wlab.wred .wcard,#wlock.wred,.nslide.glowbox{animation:none}}
/* Unused potential: the gold between their strengths and their answers. */
.nsgap{opacity:.55;animation:nsgap 2.8s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(214,191,143,.7))}
@keyframes nsgap{0%,100%{opacity:.35}50%{opacity:.85}}
.nsgap-tag{animation:nsgapt 2.8s ease-in-out infinite}
@keyframes nsgapt{0%,100%{opacity:.85}50%{opacity:1}}
.k-gap{background:#D6BF8F;box-shadow:0 0 10px rgba(214,191,143,.8)}
.nsgapmsg{display:flex;flex-direction:column;gap:6px;max-width:760px;padding:18px 20px;border-radius:10px;border:1px solid #D6BF8F;border-left:5px solid #D6BF8F;background:rgba(214,191,143,.12)}
.nsgapmsg .eb{color:#8A6A2F}
.cf[data-theme="dark"] .nsgapmsg .eb{color:#D6BF8F}
.nsgapmsg>b{font-size:clamp(22px,2.6vw,28px);line-height:1.2;font-weight:440}
.nsgapmsg>b .sfi{color:#8A6A2F}
.cf[data-theme="dark"] .nsgapmsg>b .sfi{color:#D6BF8F}
.nsgapmsg p{margin:0;font-size:15.5px;line-height:1.6}
@media(prefers-reduced-motion:reduce){.nsgap,.nsgap-tag{animation:none}}
#toast{pointer-events:none}
@media(max-width:760px){.nsb-keys{display:none !important}}

/* ── The printed North Star (31 Oct, round 5): its own pages, black and white ── */
#nsprint{display:none}
@media print{
  @page{size:A4;margin:16mm 16mm 18mm}
  html,body{background:#fff !important}
  body>*:not(#nsprint){display:none !important}
  #nsprint{display:block !important;color:#000;font:11pt/1.5 Georgia,'Times New Roman',serif;-webkit-print-color-adjust:economy;print-color-adjust:economy}
  #nsprint *{color:#000 !important;background:transparent !important;box-shadow:none !important;text-shadow:none !important}
  #nsprint .pp-head{border-bottom:2px solid #000;padding-bottom:8pt;margin-bottom:12pt}
  #nsprint .pp-head h1{font:400 26pt/1.1 Georgia,serif;margin:2pt 0 4pt}
  #nsprint .pp-head p{margin:0;font-size:11pt}
  #nsprint .pp-arch{font:italic 400 15pt/1.3 Georgia,serif;margin:4pt 0 !important}
  #nsprint .pp-arch span{font-size:11pt}
  #nsprint .pp-eb,#nsprint .pp-k{font:700 8pt/1.3 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 3pt}
  #nsprint h2{font:400 18pt/1.2 Georgia,serif;margin:0 0 10pt}
  #nsprint p{margin:0 0 6pt;orphans:3;widows:3}
  #nsprint .pp{margin:0 0 14pt}
  #nsprint .pp.br{break-before:page;page-break-before:always}
  #nsprint .pp-row{display:flex;gap:16pt;align-items:flex-start}
  #nsprint .pp-row>div:last-child{flex:1}
  #nsprint .pp-v{font:400 14pt/1.25 Georgia,serif;margin-bottom:8pt}
  #nsprint .pp-key{font:9pt Arial,sans-serif}
  #nsprint .pp-key .k1,#nsprint .pp-key .k2{display:inline-block;width:18pt;height:8pt;border:1.5pt solid #000;vertical-align:middle;margin:0 3pt 0 6pt}
  #nsprint .pp-key .k2{border-style:dashed}
  #nsprint .nsgapmsg{border:1pt solid #000;border-left:4pt solid #000;padding:8pt 10pt;margin-top:8pt;break-inside:avoid}
  #nsprint .nsgapmsg>b{display:block;font:400 14pt Georgia,serif;margin-bottom:4pt}
  #nsprint .pp-t{width:100%;border-collapse:collapse;margin:0 0 10pt;font-size:10.5pt}
  #nsprint .pp-t tr{break-inside:avoid}
  #nsprint .pp-t th{width:32%;text-align:left;vertical-align:top;padding:6pt 10pt 6pt 0;border-top:.75pt solid #999;font:700 9.5pt/1.4 Arial,sans-serif}
  #nsprint .pp-t td{vertical-align:top;padding:6pt 0;border-top:.75pt solid #999}
  #nsprint .pp-t td span{font-size:10pt}
  #nsprint .pp-box{border:1pt solid #000;padding:8pt 10pt;break-inside:avoid}
  #nsprint .pp-q{font:italic 13pt/1.35 Georgia,serif;margin:0}
  #nsprint .pp-dom{border-top:.75pt solid #999;padding-top:6pt;margin-top:6pt;break-inside:avoid}
  #nsprint .pp-l{margin:0 0 10pt;padding-left:16pt}
  #nsprint .pp-l li{margin-bottom:3pt}
  #nsprint .pp-promo h2{font-size:26pt}
  #nsprint .pp-big{font-size:13pt}
  #nsprint .pp-cta{border:2pt solid #000;padding:12pt 14pt;margin:14pt 0;text-align:center;break-inside:avoid}
  #nsprint .pp-url{font:700 20pt/1.2 Arial,sans-serif;margin:4pt 0 6pt}
  #nsprint .pp-foot{margin-top:18pt;font:9pt/1.5 Arial,sans-serif}
}

/* ── Part 2 on the phone: one question per screen (31 Oct, round 5) ── */
.p2nav,.p2foot,.p2-start{display:none}
@media(max-width:760px){
  .p2-start{display:flex}
  body:not(.p2-full) #p2>.card,body:not(.p2-full) #p2>.p2grp{display:none}
  body.p2-full #p2{position:fixed;inset:0;z-index:80;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);padding:12px 16px 30px;display:flex;flex-direction:column;gap:12px}
  body.p2-full{overflow:hidden}
  body.p2-full #acct-gate{z-index:99}
  body.p2-full #p2>.p2-start,body.p2-full #p2>.p2grp,body.p2-full #p2>.card:not(.cur){display:none}
  body.p2-full #p2>.card.cur{border:0;box-shadow:none;padding:6px 2px;min-height:calc(100svh - 170px)}
  body.p2-full .p2nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;position:relative;font-size:12px;color:var(--muted);padding-right:44px}
  body.p2-full .p2nav .nsq-x{display:block;top:-6px;right:-4px;color:var(--ink)}
  .p2seg{display:flex;gap:4px;width:100%}
  .p2seg b{flex:1;height:2px;background:var(--line)}
  .p2seg b.done{background:#6F93B8}.p2seg b.now{background:var(--goldink)}
  body.p2-full .p2foot{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:0;padding:10px 0 calc(6px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line)}
  body.p2-full .p2foot button{min-height:48px;padding:0 20px;border-radius:999px;font-weight:600;cursor:pointer}
  body.p2-full .p2foot .nsb-back{border:1px solid var(--line);background:transparent;color:var(--ink)}
  body.p2-full .p2foot .nsb-back:disabled{opacity:.4}
  body.p2-full .p2foot .nsb-next{border:0;background:var(--deep);color:#EEF2F7}
  body.p2-full .p2opts{grid-template-columns:1fr}
}

/* ── The letter on a phone (31 Oct, round 5): one light frame, the text the
   full width, the signature line wrapping instead of running off. ── */
@media(max-width:760px){
  .nsfbw{padding:16px 12px;border-left-width:1px;border-radius:10px;gap:16px}
  .nsfbw.inner{padding:0}
  #s-whatif{padding:22px 12px !important}
  #s-whatif .nsfbw{border-color:rgba(214,191,143,.35)}
  .fbletter{padding:18px 14px 14px;border-radius:8px;box-shadow:none;border:0;max-width:none}
  .fbletter p{font-size:17px;line-height:1.5}
  .fbl-sign{flex-wrap:wrap;gap:4px 10px}
  .fbl-sign img{height:44px}
  .fbl-sign span{flex-basis:100%;font-size:11.5px}
  .fbhead h2{font-size:28px}
  .fbnext{padding:16px 14px}
  .fbnext p{font-size:18px}
}

/* ── Unused potential, made impossible to miss (31 Oct, round 6) ── */
.nsgapmsg.alarm{position:relative;max-width:820px;padding:22px 24px;border:2px solid #C4543A;border-left:8px solid #C4543A;background:linear-gradient(120deg,rgba(196,84,58,.10),rgba(214,191,143,.16));animation:gapalarm 2.6s ease-in-out infinite}
@keyframes gapalarm{0%,100%{box-shadow:0 0 0 0 rgba(196,84,58,0)}50%{box-shadow:0 0 0 4px rgba(196,84,58,.25),0 14px 34px rgba(196,84,58,.18)}}
.nsgapmsg.alarm .eb{color:#B5512E}
.cf[data-theme="dark"] .nsgapmsg.alarm .eb{color:#F0A27E}
.gapbig{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.gappct{font:500 clamp(54px,7vw,80px)/.9 Newsreader,Georgia,serif;color:#C4543A;font-variant-numeric:tabular-nums}
.cf[data-theme="dark"] .gappct{color:#F0A27E}
.gapbig .sf{flex:1 1 260px;font-size:clamp(22px,2.6vw,30px);line-height:1.2;font-weight:440}
.gapbig .sfi{color:#B5512E}
.cf[data-theme="dark"] .gapbig .sfi{color:#F0A27E}
.gapwhy{align-self:flex-start;min-height:50px;padding:0 22px;border-radius:6px;border:0;background:#C4543A;color:#fff;font:600 15px Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 10px 24px rgba(196,84,58,.3)}
.gapwhy:hover{background:#A9452E}
.gapwhy[aria-expanded="true"]{background:transparent;color:#B5512E;border:1px solid #C4543A;box-shadow:none}
.gapfeel{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:4px}
.gapdom{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}
.gapdom>b{font-size:20px;line-height:1.3;font-weight:440}
.gapq{margin:4px 0 0;font:600 12px Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gapdom ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.gapdom li{position:relative;padding-left:24px;font-size:15px;line-height:1.45}
.gapdom li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:rgba(196,84,58,.14);color:#B5512E;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.gapcost{margin:4px 0 0;font:italic 400 16px/1.45 Newsreader,Georgia,serif;color:#B5512E}
.cf[data-theme="dark"] .gapcost{color:#F0A27E}
.gapnext{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;border-radius:10px;background:#0E1C2B;color:#EEF2F7}
.gapnext p{flex:1 1 320px;margin:0;font-size:19px;line-height:1.35}
.gapnext .go{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 20px;border-radius:5px;background:#D6BF8F;color:#1C1309;font-weight:600;text-decoration:none}
@media(prefers-reduced-motion:reduce){.nsgapmsg.alarm{animation:none}}

/* ── The North Star Action Plan block (31 Oct, round 6) ── */
.nsplan{display:flex;flex-wrap:wrap;gap:28px;align-items:center;padding:30px 28px;border-radius:14px;background:linear-gradient(120deg,#132338,#0E1C2B);color:#EEF2F7;border:1px solid rgba(214,191,143,.5)}
.plan-l{flex:1 1 380px;display:flex;flex-direction:column;gap:12px;min-width:0}
.plan-l h2{font-size:clamp(28px,3.6vw,40px);line-height:1.1;color:#EEF2F7}
.plan-l h2 .sfi{color:#D6BF8F}
.plan-l p{margin:0;color:#D9E2EC;font-size:15.5px;line-height:1.6;max-width:60ch}
.plan-steps{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.plan-steps li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid rgba(214,191,143,.4);font-size:13.5px}
.plan-steps b{width:22px;height:22px;border-radius:50%;background:#D6BF8F;color:#1C1309;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.plan-go{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 26px;border-radius:6px;border:0;background:#D6BF8F;color:#1C1309;font:600 16px Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 12px 28px rgba(214,191,143,.25)}
.plan-go:disabled{opacity:.5;cursor:not-allowed}
.plan-wait{font-size:13px;color:#A9C0D9}
.plan-r{flex:0 1 220px;display:flex;justify-content:center}
.plan-paper{width:180px;aspect-ratio:1/1.414;background:#FFFDF8;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.4);padding:16px 14px;display:flex;flex-direction:column;gap:6px;transform:rotate(-3deg)}
.plan-paper i{width:22px;height:22px;border-radius:4px;background:#B4975F}
.plan-paper b{font:400 13px/1.2 Newsreader,Georgia,serif;color:#0E1C2B}
.plan-paper span{height:5px;border-radius:3px;background:#E4DCCB}
.plan-paper span.s{width:60%}
.plan-paper em{font-style:normal;width:16px;height:16px;border-radius:3px;background:#B4975F;color:#fff;font:700 9px Inter,Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;margin-top:4px}
@media(max-width:760px){.nsplan{padding:22px 16px}.plan-r{display:none}.plan-go{width:100%;justify-content:center}}

/* ── Check your North Star again, and compare (31 Oct, round 6) ── */
.nsagain{padding:18px 20px;display:flex;flex-direction:column;gap:8px;border:2px solid #6F93B8}
.nsagain .sf{font-size:24px;font-weight:440}
.nsagain .go{min-height:46px;padding:0 20px;border-radius:6px;border:0;background:#6F93B8;color:#0E1C2B;font-weight:600;cursor:pointer}
.nscmp{display:flex;flex-direction:column;gap:10px;max-width:760px}
.nscmp-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.nscmp-body{padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--paper)}
.nscmp table{width:100%;border-collapse:collapse;font-size:14px}
.nscmp th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.nscmp td{padding:8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.nscmp b.up{color:#4C7355}.nscmp b.down{color:#B5512E}.nscmp b.same{color:var(--muted);font-weight:500}
.cf[data-theme="dark"] .nscmp b.up{color:#9BC0A1}.cf[data-theme="dark"] .nscmp b.down{color:#F0A27E}
.nscmp .tiny{font-size:12.5px;color:var(--muted);margin:8px 0 0}
@media(max-width:760px){.nscmp table{font-size:13px}.nscmp th,.nscmp td{padding:7px 4px}.nscmp td:not(:first-child),.nscmp th{white-space:nowrap}.nscmp-body{padding:10px 10px}}

/* ── The Massive Growth Plan (31 Oct): the last of the results. Every word is
   drawn from growth-plan.js by growth.js. The head is the same navy band as
   the action plan; the steps sit on the page's paper, each domain in its own
   colour (--c, from the file), lifted for dark so it still reads. ───────── */
.nsgp{display:flex;flex-direction:column;gap:22px}
.gp-head{display:flex;flex-direction:column;gap:12px;padding:30px 22px;border-radius:14px;background:linear-gradient(120deg,#132338,#0E1C2B);color:#EEF2F7;border:1px solid rgba(214,191,143,.5)}
.gp-head h2{margin:0;font-size:clamp(32px,5vw,48px);line-height:1.05;color:#EEF2F7}
.gp-sub{margin:0;font-size:16px;line-height:1.5;color:#D6BF8F;font-weight:520}
.gp-tag{margin:0;font-size:15px;line-height:1.6;color:#D9E2EC;max-width:62ch}
.gp-tag i{font-family:Newsreader,Georgia,serif;font-size:1.08em;color:#EEF2F7}
.gp-lead{margin:6px 0 0;padding-top:14px;border-top:1px solid rgba(214,191,143,.35);font-size:clamp(22px,3vw,28px);line-height:1.25;color:#EEF2F7}
.gp-moves{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;counter-reset:gpm}
.gp-moves li{counter-increment:gpm;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(214,191,143,.45);border-radius:999px;font-size:13px;color:#EEF2F7}
.gp-moves li::before{content:counter(gpm);font-size:11px;font-weight:600;color:#D6BF8F}
.gp-prog{display:flex;flex-direction:column;gap:8px;margin-top:6px;font-size:14px;color:#D9E2EC}
.gp-prog b{font-size:20px;font-weight:600;color:#D6BF8F;font-variant-numeric:tabular-nums}
.gp-bar{display:block;height:6px;border-radius:3px;background:rgba(214,191,143,.18);overflow:hidden}
.gp-bar i{display:block;height:100%;background:#D6BF8F;border-radius:3px;transition:width .5s ease}
.gp-dom{--cc:var(--c,var(--goldink));display:flex;flex-direction:column;gap:10px;min-width:0}
.cf[data-theme="dark"] .gp-dom{--cc:color-mix(in srgb,var(--c,#A9C0D9) 55%,#fff)}
.gp-plus{--c:#8A6A1E}
.gp-dh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:0 2px 8px;border-bottom:3px solid var(--cc)}
.gp-dh h3{margin:0;font-size:clamp(24px,3.2vw,30px);line-height:1.15;color:var(--cc)}
.gp-ds{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.gp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.gp-step{min-width:0;display:flex;flex-direction:column;gap:10px;padding:18px 16px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--cc);border-radius:8px;transition:background .25s ease,border-color .25s ease}
.gp-step.on{background:var(--panel);border-color:var(--cc)}
.gp-top{display:flex;align-items:center;gap:10px}
.gp-n{flex:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cc);color:var(--paper);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.gp-move{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cc)}
.gp-t{margin:0;font-size:clamp(20px,2.6vw,24px);line-height:1.2;color:var(--ink)}
.gp-truth{margin:0;font-family:Newsreader,Georgia,serif;font-size:17px;line-height:1.5;color:var(--muted)}
.gp-lines{min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:2.1;color:var(--ink)}
.gp-bw{white-space:nowrap}
.gp-lines>li{min-width:0}
.gp-blank{display:inline-block;width:var(--w,8em);max-width:calc(100% - 1.4em);height:1.15em;vertical-align:-.2em;margin:0 .15em;border-bottom:1.5px solid var(--cc)}
.gp-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gp-hint{font-size:.72em;color:var(--muted);margin-left:.1em}
.gp-foot{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px dashed var(--line)}
.gp-done{flex:1 1 auto;min-width:0;margin:0;font-size:14px;line-height:1.5;color:var(--ink)}
.gp-done b{font-weight:600;color:var(--cc)}
.gp-tk{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px}
.gp-tick{width:44px;height:44px;border-radius:50%;border:2px solid var(--cc);background:transparent;color:var(--cc);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}
.gp-tick svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.28}
.gp-tick:hover svg{opacity:.6}
.gp-tick[aria-pressed="true"]{background:var(--cc);color:var(--paper)}
.gp-tick[aria-pressed="true"] svg{opacity:1}
.gp-when{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.gp-voices,.gp-dls{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
.gp-voices li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:7px;background:var(--cream)}
.gp-voices b{font-size:19px;color:var(--ink)}
.gp-voices span{font-size:14.5px;line-height:1.45;color:var(--muted)}
.gp-dls li{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:7px}
.gp-dls b{font-size:19px;color:var(--ink)}
.gp-dls span{font-size:14px;line-height:1.5;color:var(--muted)}
.gp-dl{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--goldink);text-underline-offset:4px}
.gp-pdf{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:5px;background:#D6BF8F;color:#0E1C2B !important;font-size:14.5px;font-weight:600;text-decoration:none}
.gp-pdf:hover,.gp-pdf:focus-visible{background:#E6D3AA}
@media(min-width:760px){
  .gp-head{padding:36px 34px}
  .gp-prog{flex-direction:row;align-items:center;gap:14px}.gp-bar{flex:1 1 auto}
  .gp-step{padding:22px 24px}
  .gp-voices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gp-dls{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
}
.gp-own{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 2px}
.gp-priv{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.gp-complete{min-height:44px;padding:0;border:0;background:none;color:var(--goldink);font:600 14px/1.3 'Inter',Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
/* A blank, written in: the line to write on, as a field. 16px so a phone
   never zooms in (the page would jump); no box, only the line. */
.gp-in{display:inline-block;box-sizing:border-box;width:var(--w,8em);max-width:calc(100% - 1.4em);min-height:1.75em;height:1.75em;margin:0 .15em;padding:.1em .2em 0;vertical-align:top;border:0;border-bottom:1.5px solid var(--cc);border-radius:0;background:transparent;color:var(--ink);font:500 16px/1.4 'Inter',Arial,sans-serif;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-appearance:none;appearance:none;transition:background .2s ease}
.gp-in::placeholder{color:var(--muted);opacity:.75;font-size:12px;font-weight:400}
.gp-in:focus{outline:none;background:var(--cream);border-bottom-width:2px}
.gp-in:focus-visible{outline:2px solid var(--cc);outline-offset:2px}
.gp-saved{margin:-4px 0 0;min-height:1.2em;font-size:12px;color:var(--muted);opacity:0;transition:opacity .4s ease}
.gp-saved.on{opacity:1}
@media (prefers-reduced-motion:reduce){.gp-step,.gp-tick,.gp-bar i,.gp-in,.gp-saved{transition:none}}
