body.app{background:radial-gradient(900px 500px at 85% -10%,#2C3236 0%,transparent 60%),linear-gradient(180deg,#1F2326,#1F2326 70%,#2C3236);min-height:100vh;color:#fff}
.top{position:sticky;top:0;z-index:5;background:rgba(31,35,38,.8);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.top .in{max-width:860px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:16px}
.top .logo{font-size:12px}
.top .count{margin-inline-start:auto;color:#3FC8E0;font:600 13px var(--head);white-space:nowrap}
/* trail progress: a path from base camp to the summit */
.trailbar{max-width:860px;margin:0 auto;padding:4px 20px 14px;direction:ltr}
.trailbar .track{position:relative;height:8px;border-radius:8px;background:rgba(255,255,255,.1)}
.trailbar .done{position:absolute;inset:0 auto 0 0;border-radius:8px;background:linear-gradient(90deg,var(--cyan),var(--amber));transition:width .35s ease}
.trailbar .camp{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#1F2326;border:2px solid rgba(255,255,255,.35)}
.trailbar .camp.on{border-color:var(--amber);background:var(--amber)}
.trailbar .flag{position:absolute;right:-6px;top:-18px;font-size:18px}
.trailbar .labels{display:flex;justify-content:space-between;margin-top:8px;font:700 10px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#6C737A}
[dir=rtl] .trailbar .labels{flex-direction:row-reverse}
.stage{max-width:860px;margin:0 auto;padding:34px 20px 80px;min-height:calc(100vh - 120px);display:flex;flex-direction:column}
.card{animation:in .35s ease}
@keyframes in{from{transform:translateY(10px)}to{transform:none}}
.prompt{font:700 13px var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:18px}
.q{font:700 clamp(24px,3.4vw,34px)/1.25 var(--head);color:#fff;margin:0 0 30px}
.opts{display:grid;gap:12px}
.opt{width:100%;text-align:start;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);color:#fff;border-radius:16px;padding:18px 20px;font:600 18px var(--body);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.opt:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.opt.sel{background:rgba(245,165,36,.18);border-color:var(--amber)}
.opt:active{transform:scale(.99)}
.opt kbd{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid rgba(255,255,255,.25);font:700 12px var(--head);color:#3FC8E0;margin-inline-end:12px}
/* pairs */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}
.stmt{background:#fff;color:var(--navy);border-radius:20px;padding:26px;font:600 clamp(18px,2.2vw,22px)/1.4 var(--body);min-height:150px;display:flex;align-items:center;box-shadow:0 18px 40px -20px rgba(31,35,38,.35)}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:start}
.dotb{background:none;border:0;color:#3FC8E0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;font:600 12.5px/1.25 var(--body);text-align:center;padding:6px 2px}
.dotb .d{border-radius:50%;border:2.5px solid rgba(255,255,255,.4);transition:all .15s}
.dotb:nth-child(1) .d,.dotb:nth-child(5) .d{width:52px;height:52px}
.dotb:nth-child(2) .d,.dotb:nth-child(4) .d{width:40px;height:40px}
.dotb:nth-child(3) .d{width:30px;height:30px}
.dotb:hover .d{border-color:#fff;transform:scale(1.06)}
.dotb.sel .d{background:var(--amber);border-color:var(--amber)}
.dotb.sel{color:#fff}
@media (max-width:640px){.pair{grid-template-columns:1fr;gap:10px}.stmt{min-height:auto;padding:20px}.dotb{font-size:11px}}
/* statements */
.likert{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.likert .opt{text-align:center;padding:20px 8px;font-size:16px}
@media (max-width:640px){.likert{grid-template-columns:1fr}.likert .opt{text-align:start}}
.nav2{display:flex;justify-content:space-between;align-items:center;margin-top:34px}
.backb{background:none;border:0;color:#3FC8E0;font:600 15px var(--head);cursor:pointer;padding:8px 0}
.backb:hover{color:#fff}
.hint{color:#6C737A;font-size:13px}
/* interstitials */
.inter{text-align:center;margin:auto 0;padding:30px 0}
.inter h1{color:#fff;font-size:clamp(34px,5vw,56px);font-weight:800;margin:0 0 16px}
.inter p{color:#ECEFF1;font-size:20px;max-width:620px;margin:0 auto 32px}
.inter .big{font-size:64px;margin-bottom:12px}
.form{max-width:460px;margin:0 auto;text-align:start;display:grid;gap:14px}
.form input[type=text],.form input[type=email]{width:100%;padding:16px 18px;border-radius:14px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:500 17px var(--body)}
.form input:focus{outline:none;border-color:var(--amber)}
.form label.chk{display:flex;gap:10px;align-items:flex-start;color:#B9C6CC;font-size:14px;line-height:1.45}
.form .err{color:#B3261E;font-size:14px;min-height:20px}
.spinner{width:54px;height:54px;border:4px solid rgba(255,255,255,.15);border-top-color:var(--amber);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 22px}
@keyframes spin{to{transform:rotate(360deg)}}
/* map page */
body.map{background:#F4F5F6;color:var(--ink)}
.mapbar{position:sticky;top:0;z-index:5;background:var(--navy);color:#fff}
.mapbar .in{max-width:1100px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mapbar .sp{margin-inline-start:auto;display:flex;gap:10px;flex-wrap:wrap}
.mapbar .btn{padding:10px 18px;font-size:14px}
.mapbar .btn.ghost{color:#fff}
.unlock{max-width:860px;margin:24px auto 0;background:linear-gradient(170deg,#1F2326,#2C3236);color:#ECEFF1;border-radius:22px;padding:28px 30px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:var(--shadow)}
.unlock h2{color:#fff;font-size:24px;margin-bottom:6px}.unlock p{margin:0;color:#ECEFF1;max-width:520px}
.frame{max-width:860px;margin:20px auto 60px;padding:0 12px}
.frame iframe{width:100%;border:0;display:block;background:transparent}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font:600 14px var(--head);opacity:0;transition:opacity .2s}
.toast.on{opacity:1}

.stmt{position:relative}
.stmt .ab{position:absolute;top:12px;inset-inline-end:14px;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 12px var(--head)}
.dotb .ab{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:rgba(255,255,255,.14);color:#fff;font:800 11px var(--head);margin-bottom:-4px}
.dotb .sp{height:20px;margin-bottom:-4px}

/* feedback + demographics */
.fbcard{max-width:860px;margin:0 auto 70px;background:#fff;border-radius:22px;padding:30px 32px;box-shadow:0 18px 50px -28px rgba(31,35,38,.45);color:var(--ink)}
.fbcard h2{font-size:26px;margin-bottom:6px}.fbcard h3{font-size:18px;margin:26px 0 10px}.fbsub{color:var(--muted);margin:0 0 18px}
.fq{margin:18px 0}.fq b{display:block;font:700 16px var(--head);color:var(--navy);margin-bottom:10px}
.acc{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.acc label,.chips label{cursor:pointer}
.acc input,.chips input{position:absolute;opacity:0}.acc span{display:grid;place-items:center;height:46px;border-radius:12px;border:1.5px solid var(--line);font:800 18px var(--head);color:var(--navy)}
.acc small{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:4px}.acc input:checked+span,.chips input:checked+span{background:var(--amber);border-color:var(--amber);color:#1F2326}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{display:inline-block;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);font:600 14px var(--body)}
.fbcard textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font:400 15px var(--body)}
.demo2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:22px}.fl span{display:block;font:600 13px var(--body);color:#3B4146;margin-bottom:4px}
.fl select{width:100%;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);font:500 15px var(--body);background:#fff}
.fbcard.thanks{text-align:center}
@media (max-width:640px){.demo2{grid-template-columns:1fr}.acc small{font-size:10px}.fbcard{padding:22px}}

.fbcard.climb{background:linear-gradient(170deg,#1F2326,#2C3236);color:#ECEFF1}.fbcard.climb h2{color:#fff}.fbcard.climb .fbsub{color:#ECEFF1;margin-bottom:18px}

/* True North */
.tnhelp{color:#ECEFF1;font-size:16px;margin:-6px 0 18px}
.valcard{background:#fff;color:var(--navy);border-radius:22px;padding:34px 30px;text-align:center;margin:10px 0 26px;box-shadow:0 18px 40px -20px rgba(31,35,38,.35)}
.valcard b{display:block;font:800 clamp(28px,4vw,40px) var(--head)}.valcard span{display:block;margin-top:8px;font-size:18px;color:#3B4146}
.likert.three{grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.likert.three{grid-template-columns:1fr}}
.inter.left{text-align:start}.inter.left p{margin-inline:0}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0}
.vchip{text-align:start;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.16);color:#fff;border-radius:14px;padding:12px 14px;cursor:pointer}
.vchip b{display:block;font:700 16px var(--head)}.vchip small{color:#3FC8E0}.vchip.sel{background:rgba(245,165,36,.2);border-color:var(--amber)}
.vbtn{cursor:pointer;border:3px solid transparent;text-align:start}.vbtn.sel{border-color:var(--amber)}.vbtn b{font:800 22px var(--head)}
.defs{display:grid;gap:12px;margin:12px 0}.defs label b{display:block;margin-bottom:6px}.defs input,.vform textarea{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:500 16px var(--body)}
.vform{display:grid;gap:10px}.vform>b{font:700 17px var(--head);margin-top:12px}.vform .chips2 span{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.vform .err{color:#B3261E;min-height:18px}
.drafts{display:grid;gap:10px;margin:12px 0 16px}.draft{display:block;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 16px;cursor:pointer}
.draft input{position:absolute;opacity:0}.draft.sel{border-color:var(--amber);background:rgba(245,165,36,.14)}.draft .k{font:700 11px var(--head);letter-spacing:.16em;color:var(--amber);text-transform:uppercase}.draft p{margin:6px 0 0;color:#fff;font-size:17px}
#stmt{width:100%;padding:16px;border-radius:14px;border:1.5px solid var(--amber);background:#fff;color:var(--navy);font:600 18px/1.5 var(--body)}
blockquote.tnq{max-width:640px;margin:0 auto 28px;font:600 20px/1.5 var(--head);color:#fff}
.btn[disabled]{opacity:.4;pointer-events:none}
.unlock .buys{display:flex;flex-direction:column;gap:10px}.unlock .bnote{margin-top:8px!important;color:#FFC65C!important;font-size:14px}.unlock.tn{margin-top:16px}
@media(max-width:640px){.vchip{padding:10px 11px}.vchip b{font-size:15px}.vchip small{font-size:11.5px;line-height:1.3;display:block}}

/* ===== Light assessment theme (2026-10-12 palette): white question surfaces on warm ivory, navy header ===== */
body.app{background:#F4F5F6;color:var(--ink)}
body.map{background:#F4F5F6}
.top{background:#1F2326}
.q,.inter h1{color:#1F2326}
.inter p,.tnhelp{color:#3B4146}
.prompt{color:#B4690E}
.opt{background:#fff;border-color:#E2E5E8;color:#1F2326;box-shadow:0 2px 6px -3px rgba(31,35,38,.15)}
.opt:hover{background:#fff;border-color:#3FC8E0}
.opt.sel{background:#FFF4DC;border-color:#F5A524}
.opt kbd{border-color:#E2E5E8;color:#6C737A}
.stmt{border:1.5px solid #E2E5E8;box-shadow:0 10px 28px -18px rgba(31,35,38,.35)}
.stmt .ab{background:#1F2326}
.dotb{color:#6C737A}.dotb .d{border-color:#3FC8E0;background:#fff}.dotb:hover .d{border-color:#1F2326}
.dotb.sel{color:#1F2326}.dotb .ab{background:#ECEFF1;color:#1F2326}
.backb{color:#6C737A}.backb:hover{color:#1F2326}.hint{color:#6C737A}
.form input[type=text],.form input[type=email]{background:#fff;border-color:#E2E5E8;color:#1F2326}
.form label.chk{color:#3B4146}.form .err,.vform .err{color:#B3261E}
.spinner{border-color:#E2E5E8;border-top-color:#F5A524}
.valcard{border:1.5px solid #E2E5E8;box-shadow:0 10px 28px -18px rgba(31,35,38,.35)}
.vchip{background:#fff;border-color:#E2E5E8;color:#1F2326}.vchip small{color:#6C737A}.vchip.sel{background:#FFF4DC;border-color:#F5A524}
.vbtn.sel{border-color:#F5A524}
.defs input,.vform textarea{background:#fff;border-color:#E2E5E8;color:#1F2326}
.vform>b{color:#1F2326}.vform .chips2 span{background:#fff;color:#1F2326;border-color:#E2E5E8}
.draft{background:#fff;border-color:#E2E5E8}.draft p{color:#1F2326}.draft.sel{background:#FFF4DC;border-color:#F5A524}.draft .k{color:#B4690E}
blockquote.tnq{color:#1F2326}
.btn.ghost{color:#1F2326;box-shadow:inset 0 0 0 2px #3FC8E0}
.mapbar .btn.ghost{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.teamb{display:inline-block;background:#FFF4DC;color:#B4690E!important;border-radius:999px;padding:8px 16px;font:600 14px var(--head)!important;margin-bottom:14px!important}
.tnicon{height:110px;margin:0 auto 18px;display:block}.flagimg{position:absolute;right:-4px;top:-22px;height:26px}.tni{height:28px;vertical-align:-5px;margin-inline-end:6px}

/* ===== True North guide (2026-10-12): overlap check, definitions, scenarios, interview, reflection, co-drafting, test ===== */
.h1sm{font-size:clamp(24px,3vw,32px)!important}
.choices3{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 10px}
.defrow{display:grid;gap:6px;margin-bottom:10px}.defrow b{font:700 17px var(--head);color:#1F2326}
.defrow textarea,.chat textarea,.inter.left textarea{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid #E2E5E8;background:#fff;color:#1F2326;font:500 16px/1.45 var(--body);resize:vertical}
.defrow textarea:focus,.inter.left textarea:focus{outline:none;border-color:#F5A524}
.defact{display:flex;gap:12px;align-items:center}
.linkb{background:none;border:0;padding:0;color:#B4690E;font:700 14px var(--head);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linkb:disabled{opacity:.6;cursor:wait}
.deferr{color:#B3261E;font-size:13px}
.vtag{display:inline-block;margin-top:8px;font:700 11px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#B4690E}
.chat .prev{border-inline-start:3px solid #E2E5E8;padding:4px 0 4px 14px;margin:0 0 18px}.chat .prev small{color:#6C737A;font-size:13px}.chat .prev p{margin:4px 0 0!important;font-size:15px!important;color:#3B4146}
.askq{font:700 clamp(22px,3vw,30px)/1.3 var(--head);color:#1F2326;margin:0 0 18px}
.k.rk{font:700 12px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#B4690E;margin:16px 0 8px}
.refl{background:#fff;border:1.5px solid #E2E5E8;border-radius:14px;padding:14px 16px;margin-bottom:10px}
.refl.ok{border-color:#F5A524;background:#FFFAF0}.refl p{margin:0 0 10px!important;font-size:17px!important;color:#1F2326!important}
.refl .row,.tnfail .row{display:flex;gap:8px;flex-wrap:wrap}.refl textarea{margin-top:10px}
.pill{border:1.5px solid #E2E5E8;background:#fff;color:#1F2326;border-radius:999px;padding:8px 14px;font:600 14px var(--body);cursor:pointer}
.pill.sel{background:#FFF4DC;border-color:#F5A524}.pill:hover{border-color:#3FC8E0}
.chips3{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.tnq.big{max-width:none;margin:8px 0 18px;font:700 clamp(21px,2.6vw,27px)/1.45 var(--head);color:#1F2326;text-align:start}
.phr{background:none;border:0;padding:0 1px;font:inherit;color:inherit;cursor:pointer;border-bottom:3px solid #FFE2A8;transition:background .15s}
.phr:hover,.phr.sel{background:#FFF4DC;border-bottom-color:#F5A524}
.from{background:#fff;border:1.5px solid #E2E5E8;border-radius:12px;padding:12px 14px;margin:-6px 0 14px;color:#3B4146;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.from .k{font:700 11px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#B4690E}
.verdict{background:#fff;border:1.5px solid #E2E5E8;border-inline-start:5px solid #3FC8E0;border-radius:12px;padding:12px 16px;margin:14px 0}
.verdict.ok{border-inline-start-color:#F5A524}.verdict .k{font:700 12px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#B4690E}.verdict p{margin:6px 0 0!important;font-size:16px!important}
.lbl{display:block;font:700 16px var(--head);color:#1F2326;margin:16px 0 8px}
.rv{font-size:17px!important;color:#1F2326!important;margin:4px 0 14px!important}
.inter.left>.k{font:700 12px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#B4690E;margin-top:10px}
.tnicon.sm{height:64px;margin:0 0 10px}
.tnfail{background:#fff;border:1.5px solid #E2E5E8;border-radius:14px;padding:16px}.tnfail p{margin:0 0 12px!important}
@media(max-width:640px){.askq{font-size:21px}.tnq.big{font-size:20px}.choices3 .btn{width:100%}}
.inter.left .tnq{margin:6px 0 18px;max-width:none;text-align:start;color:#1F2326}
.ebk{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1.5px dashed #F5A524;border-radius:12px;background:#FFFAF0;cursor:pointer;text-align:start}
.ebk input{margin-top:4px;accent-color:#F5A524;width:18px;height:18px}.ebk b{color:#1F2326}.ebk em{font-style:normal;font-weight:800;color:#B4690E;margin-inline-start:6px}
.ebk small{display:block;color:#6C737A;margin-top:2px}

.unlock.fg{margin-top:16px;background:linear-gradient(170deg,#2C3236,#1F2326)}
