:root{--ink:#10364a;--teal:#07969b;--green:#2c8b45;--orange:#e87817;--red:#c7352d;--blue:#1763a6;--paper:#fffdf7;--line:#c8dedd;--shadow:0 14px 38px rgba(18,54,68,.12)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 50% 12%,#fff 0,#fbf8ef 44%,#eaf3f1 100%);font-family:Inter,Segoe UI,Arial,sans-serif}.compass-page{width:min(1500px,100%);margin:auto;padding:20px clamp(14px,3vw,48px) 60px}.hero{text-align:center;position:relative}.back-link{position:absolute;left:0;top:6px;color:#17687c;font-weight:800;text-decoration:none}.prototype-badge{display:inline-block;margin:0;padding:7px 12px;border-radius:999px;background:#fff0c9;color:#8a5a00;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.brand{margin-top:8px;color:var(--teal);font-size:clamp(2rem,4vw,4.2rem);font-weight:900;letter-spacing:-.05em}.brand span{color:#f47721}.hero h1{margin:-4px 0 0;font-size:clamp(2.2rem,5vw,5.4rem);line-height:.95;text-transform:uppercase;letter-spacing:.01em}.hero>p:last-child{margin:12px 0 24px;font-size:clamp(1rem,1.8vw,1.5rem)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.info-card,.driver,.result-card,.confidence-card,.calculation-note,.diagnostics{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.8);box-shadow:var(--shadow)}.info-card{padding:18px 24px;text-align:center}.info-card h2{margin:0 0 8px;font-size:1rem;text-transform:uppercase}.info-card p{margin:0 0 8px;line-height:1.45}.compass-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(430px,1fr) minmax(220px,280px);gap:22px;align-items:start}.driver-column{display:grid;gap:20px}.driver{min-height:250px;padding:20px}.driver h2{margin:-34px 0 16px 52px;text-transform:uppercase;font-size:1.2rem}.driver-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:1.35rem;color:#fff;background:var(--teal)}.recovery .driver-icon{background:var(--orange)}.body .driver-icon{background:var(--red)}.driver p{font-weight:700;line-height:1.35}.driver ul{margin:12px 0 0;padding-left:20px;color:#355564;line-height:1.55}.driver li+li{margin-top:5px}.compass-stage{display:grid;gap:16px}.compass-face{position:relative;width:min(100%,720px);aspect-ratio:1;margin:auto;border:14px solid #e8e1d2;border-radius:50%;background:repeating-conic-gradient(from -1deg,rgba(16,54,74,.35) 0deg 1deg,transparent 1deg 10deg),radial-gradient(circle at 50% 45%,#fff 0 33%,#faf7ee 33% 64%,#f1ecdf 64%);box-shadow:inset 0 0 0 4px #c9c1b1,inset 0 0 0 24px rgba(255,255,255,.72),var(--shadow);overflow:hidden}.compass-face:after{content:"";position:absolute;inset:16%;border:2px solid rgba(16,54,74,.2);border-radius:50%}.axis{position:absolute;z-index:1;background:rgba(16,54,74,.18)}.axis-vertical{width:2px;height:68%;left:50%;top:16%}.axis-horizontal{height:2px;width:68%;left:16%;top:50%}.direction{position:absolute;z-index:4;text-align:center;text-transform:uppercase;line-height:1.05}.direction b{display:block;font-size:clamp(1rem,2vw,1.65rem)}.direction span{display:block;margin-top:4px;font-size:clamp(.6rem,1vw,.86rem);font-weight:900}.north{top:4%;left:50%;transform:translateX(-50%);color:var(--green)}.south{bottom:4%;left:50%;transform:translateX(-50%);color:var(--red)}.east{right:4%;top:50%;transform:translateY(-50%);color:var(--orange)}.west{left:4%;top:50%;transform:translateY(-50%);color:var(--blue)}.needle{position:absolute;z-index:3;left:50%;top:50%;width:9%;height:36%;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(0deg);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.needle span{display:block;width:100%;height:100%;clip-path:polygon(50% 0,100% 100%,50% 84%,0 100%);background:linear-gradient(90deg,#046b73,#16b8b8 52%,#064c65);filter:drop-shadow(0 5px 4px rgba(0,0,0,.3))}.mo-centre{position:absolute;z-index:5;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border:7px solid rgba(255,255,255,.85);border-radius:50%;overflow:hidden;background:#dcebe5;box-shadow:0 7px 22px rgba(15,57,73,.25)}.mo-centre img{width:170%;height:100%;object-fit:cover;object-position:center;transform:translateX(-20%)}.result-card,.confidence-card{display:flex;align-items:center;gap:16px;padding:18px 22px}.result-arrow{flex:0 0 58px;height:58px;display:grid;place-items:center;border:2px solid #8ac8c3;border-radius:50%;color:var(--teal);font-size:2.5rem;font-weight:900;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.result-card span,.confidence-card span{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.result-card h2{margin:3px 0;font-size:1.25rem}.result-card p,.confidence-card p{margin:0;color:#45616d}.confidence-card{display:grid;grid-template-columns:auto 1fr;column-gap:18px}.confidence-card>div:first-child strong{display:block;font-size:1.2rem}.confidence-dots{display:flex;gap:8px}.confidence-dots i{width:18px;height:18px;border:2px solid #9bb4ba;border-radius:50%;background:#d8e1e2}.confidence-dots i.on{border-color:#057c83;background:#08a2a3}.confidence-card p{grid-column:1/-1}.calculation-note{margin-top:24px;padding:22px 26px}.calculation-note h2{margin:0 0 8px}.calculation-note p{margin:8px 0;line-height:1.5}.diagnostics{margin-top:22px;padding:0 22px 22px;background:#122d38;color:#e8f6f4;border-color:#264b59}.diagnostics summary{cursor:pointer;padding:20px 0;font-size:1.1rem;font-weight:900}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.diagnostic-item{padding:14px;border:1px solid #3e6671;border-radius:13px;background:#193946}.diagnostic-item h3{margin:0 0 7px;color:#74ddd4;font-size:.95rem}.diagnostic-item p{margin:4px 0;font-family:Consolas,monospace;font-size:.82rem;line-height:1.4;white-space:pre-wrap}.config-readout{margin-top:14px}.config-readout h3{font-size:.9rem}.config-readout pre{overflow:auto;padding:14px;border-radius:12px;background:#091d25;color:#c7f6e9;font-size:.75rem}
@media(max-width:1050px){.compass-layout{grid-template-columns:1fr 1fr}.compass-stage{grid-column:1/-1;grid-row:1}.driver-column{grid-row:2}.driver{min-height:0}.compass-face{max-width:680px}}
@media(max-width:680px){.compass-page{padding-top:12px}.back-link{position:static;display:block;margin-bottom:10px}.intro-grid,.compass-layout,.diagnostic-grid{grid-template-columns:1fr}.compass-stage,.driver-column{grid-column:auto;grid-row:auto}.compass-stage{grid-row:1}.driver-column{grid-row:auto}.intro-grid{gap:10px}.compass-face{border-width:8px}.direction span{display:none}.mo-centre{width:34%}.result-card{align-items:flex-start}.confidence-card{grid-template-columns:1fr}.confidence-card p{grid-column:auto}}

/* Prototype terminology separates data completeness from interpretive confidence. */
.confidence-card{grid-template-columns:auto 1fr auto}.confidence-card>div strong{display:block;font-size:1.2rem}.confidence-level{text-align:right}.confidence-dots{align-items:center}
.diagnostics[hidden]{display:none}
@media(max-width:680px){.confidence-card{grid-template-columns:1fr}.confidence-level{text-align:left}}

/* Instrument centre and one-step position history. */
.compass-face:before{content:"";position:absolute;z-index:0;inset:12%;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,rgba(57,145,82,.17) 0deg,rgba(57,145,82,.12) 32deg,rgba(57,145,82,.035) 46deg,transparent 54deg 360deg);filter:blur(1px)}
.previous-position{position:absolute;z-index:4;width:18px;height:18px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:#6e7f84;box-shadow:0 2px 8px rgba(16,54,74,.42);transition:left 1.1s cubic-bezier(.2,.8,.2,1),top 1.1s cubic-bezier(.2,.8,.2,1)}
.previous-position:after{content:"Previous";position:absolute;top:20px;left:50%;transform:translateX(-50%);padding:3px 6px;border-radius:999px;color:#fff;background:rgba(16,54,74,.78);font-size:.58rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.previous-position[hidden]{display:none}
.centre-gauge{--zone-colour:#9aabaa;position:absolute;z-index:5;left:50%;top:50%;width:26%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:var(--zone-colour);box-shadow:0 7px 22px rgba(15,57,73,.2)}
.centre-gauge:before{content:"";position:absolute;inset:10%;border:1px solid #c6d8d4;border-radius:50%;background:linear-gradient(145deg,#fff,#eef4f1);box-shadow:inset 0 2px 8px rgba(16,54,74,.09)}
.centre-gauge-readout{position:relative;z-index:1;display:grid;place-items:center;color:var(--ink)}
.centre-gauge-readout strong{font-size:clamp(1.15rem,3vw,2.15rem);line-height:1}
.centre-gauge-readout span{margin-top:5px;color:#547078;font-size:clamp(.5rem,.9vw,.7rem);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.centre-gauge-readout em{margin-top:4px;color:#657674;font-size:clamp(.48rem,.85vw,.68rem);font-style:normal;font-weight:900;text-transform:uppercase}
.centre-gauge.zone-core{--zone-colour:#267865}.centre-gauge.zone-core .centre-gauge-readout em{color:#267865}
.centre-gauge.zone-healthy{--zone-colour:#3f8050}.centre-gauge.zone-healthy .centre-gauge-readout em{color:#2f6f40}
.centre-gauge.zone-elevated{--zone-colour:#d69b28}.centre-gauge.zone-elevated .centre-gauge-readout em{color:#99680b}
.centre-gauge.zone-watch{--zone-colour:#c95e55}.centre-gauge.zone-watch .centre-gauge-readout em{color:#a3453e}

@media(max-width:680px){.compass-stage{width:100%;min-width:0}.compass-face{width:100%;max-width:100%}.result-card,.confidence-card{min-width:0}.result-card>div:last-child{min-width:0}.centre-gauge{width:30%}.previous-position{width:15px;height:15px}.previous-position:after{display:none}}

/* Presentation-only sizing and a fixed 14-day raw-direction history. */
.compass-face{width:72%;max-width:518px;border-width:10px}
.instrument-caption{display:grid;gap:5px;text-align:center;line-height:1.4;padding:0 8px}
.instrument-caption strong{font-size:.93rem}.instrument-caption span{font-size:.8rem;color:#547078}
.instrument-caption small{font-size:.72rem;color:#547078;max-width:420px;margin:auto}
.history-card{margin-top:24px;padding:22px 26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:var(--shadow)}
.history-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:14px;align-items:center;text-align:center}
.history-header h2{font-size:1.3rem;margin:0 0 5px}.history-header p{margin:0;color:#547078;font-size:.88rem}
.history-card button{min-height:44px;border:1px solid #98c8c5;border-radius:12px;background:#eaf6f2;color:#17687c;font-family:inherit;font-size:.9rem;font-weight:800;cursor:pointer}
.history-card button:hover:not(:disabled){background:#d6eee8}.history-card button:disabled{opacity:.35;cursor:default}
.history-card button:focus-visible,.history-point:focus-visible{outline:3px solid #e87817;outline-offset:3px}
.history-scale,.history-status{font-size:.8rem;color:#547078;line-height:1.5;margin:14px 0 0}
.history-chart-wrap{width:100%;overflow-x:auto;margin-top:8px}.history-chart-wrap svg{width:100%;display:block;overflow:visible}
.history-gridline{stroke:#dce7e4;stroke-width:1}.history-axis{fill:#547078;font-size:13px;font-family:inherit}
.history-line{stroke:#07969b;stroke-width:2.5;fill:none}.history-dot{fill:#07969b;stroke:white;stroke-width:2}
.history-dot.today{fill:#1763a6;stroke:#d9eafb;stroke-width:3}.history-today-line{stroke:#1763a6;stroke-width:1;stroke-dasharray:4 4;opacity:.35}
.history-today-label{fill:#1763a6;font-size:14px;font-weight:800}.history-point{cursor:pointer;outline:none}.history-point:focus .history-dot,.history-point.selected .history-dot{stroke:#e87817;stroke-width:4}
.history-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:50px}.history-footer p{font-weight:700;font-size:.9rem;margin:8px 0}.history-footer button{padding:8px 14px;white-space:nowrap}
@media(max-width:1050px){.compass-face{width:72%;max-width:490px}}
@media(max-width:680px){.compass-face{width:72%;max-width:72%;border-width:7px}.direction b{font-size:.8rem}.centre-gauge-readout strong{font-size:1.1rem}.centre-gauge-readout em{font-size:.43rem}.history-card{padding:16px 12px}.history-header{gap:8px}.history-header h2{font-size:1.04rem}.history-header p{font-size:.78rem}.history-footer{align-items:flex-start;flex-direction:column;gap:0}.confidence-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.needle,.result-arrow,.previous-position{transition:none}}

/* The history line is evidence; the explanation is the main experience. */
.history-card{max-width:1080px;margin:24px auto 0;padding:18px 24px;box-shadow:0 5px 18px rgba(18,54,68,.06)}
.history-header h2{font-size:1.08rem}.history-purpose{margin:12px 0 0;color:#45616d;font-size:.9rem}
.history-scale{font-size:.7rem;margin-top:8px}.history-status{font-size:.74rem}.history-footer{min-height:40px}.history-footer p{font-size:.78rem}
.instrument-details{font-size:.8rem;text-align:center;color:#547078}.instrument-details summary{cursor:pointer;padding:3px}.instrument-details[open] .instrument-caption{margin-top:8px}
.interpretation{max-width:1080px;margin:40px auto 0}.interpretation-heading{padding:0 4px 20px}.eyebrow{color:#078384;font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.interpretation-heading h2{margin:8px 0;font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:-.025em}.interpretation-heading>p:not(.eyebrow){max-width:780px;line-height:1.6}.interpretation-range{font-size:.78rem;color:#547078}
.explain-section{background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:20px;margin-bottom:18px;padding:28px 34px;box-shadow:0 5px 18px rgba(18,54,68,.04)}
.explain-section h3{font-size:clamp(1.25rem,2.5vw,1.7rem);margin:12px 0 15px;letter-spacing:-.02em}.explain-body{max-width:880px}.explain-body p{font-size:1rem;line-height:1.75;color:#355564;margin:0 0 14px}.explain-body p:last-child{margin-bottom:0}
.direction-overview{border-left:5px solid #07969b;background:linear-gradient(110deg,#edf8f2,#fffdf7)}.direction-overview h3{font-size:clamp(1.6rem,3vw,2.25rem)}
.explain-state{display:inline-block;padding:5px 10px;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;font-weight:850;border-radius:999px;background:#e8f2f2;color:#17687c}
[data-state="All Clear"] .explain-state{background:#e4f3e7;color:#246c3a}[data-state="Learning"] .explain-state{background:#f5edd8;color:#75601d}
.coverage-panel{padding:26px 32px;background:#eef5f2;border:1px solid #c8dedd;border-radius:20px;margin:24px 0}.coverage-panel h3{margin:0 0 8px;font-size:1.3rem}.coverage-panel p{line-height:1.6;margin:0 0 16px}.coverage-panel ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;padding:0;margin:0 0 20px}.coverage-panel li{display:flex;flex-direction:column;gap:4px;border-top:1px solid #c8dedd;padding-top:12px}.coverage-panel li span{font-size:.85rem;color:#547078}
.explain-body a,.coverage-panel a{display:inline-block;color:#17687c;font-weight:800;text-decoration-thickness:1px;text-underline-offset:4px;padding:8px 0;min-height:44px}.explain-body a:focus-visible,.coverage-panel a:focus-visible{outline:3px solid #e87817;outline-offset:4px}
.calculation-note{max-width:1080px;margin:24px auto 0}.calculation-note summary{font-weight:800;cursor:pointer}.calculation-note p{color:#547078;font-size:.9rem}
@media(max-width:680px){.history-card{padding:16px 12px}.history-header h2{font-size:.95rem}.explain-section{padding:23px 20px}.explain-body p{font-size:.96rem;line-height:1.7}.interpretation{margin-top:30px}.coverage-panel{padding:22px 20px}.coverage-panel ul{grid-template-columns:1fr}.history-footer{gap:5px}}

/* Answer, meaning, evidence: the same findings at two reading speeds. */
.explain-topic{font-size:.73rem;letter-spacing:.075em;text-transform:uppercase;font-weight:800;color:#59757b;margin:16px 0 0}
.explain-section h3{margin-top:8px;max-width:820px;line-height:1.25}
.explain-body .explain-meaning{font-size:1.08rem;line-height:1.65;color:#244b59;max-width:840px;margin-bottom:22px}
.explain-body strong{font-weight:800;color:#143f4b}
.explain-evidence{border-left:2px solid #d9e6e1;padding:2px 0 2px 17px;margin:14px 0 0}
.explain-evidence p{font-size:.9rem;line-height:1.65;color:#5a7078}
.signal-finding{padding:21px 0;border-top:1px solid #e0ebe7}
.signal-finding:last-child{padding-bottom:0}.signal-finding h4{margin:0 0 9px;font-size:1.15rem;line-height:1.35;color:#164b54}
.signal-finding>p{margin-bottom:8px}.signal-finding .explain-evidence{margin-top:11px}
@media(max-width:680px){.explain-body .explain-meaning{font-size:1rem}.explain-topic{font-size:.67rem}.signal-finding h4{font-size:1.08rem}.explain-evidence{padding-left:12px}.explain-evidence p{font-size:.86rem}}

/* Return to the header after reading the full Compass page. */
.page-bottom-nav{max-width:1080px;margin:28px auto 0;display:flex;justify-content:center}
.back-to-top{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid #17687c;border-radius:999px;background:#17687c;color:#fff;font:inherit;font-weight:800;text-decoration:none}
.back-to-top:hover{background:#124f5f;border-color:#124f5f}
.back-to-top:focus-visible{outline:3px solid #e87817;outline-offset:4px}

/* Small uppercase reading-section labels for easier scanning. */
.explain-topic{display:table;max-width:100%;padding:6px 12px;border-radius:8px;background:#e5f2df;color:#703f8c}
