/* Life Score — dark interactive companion to the main website. */
.ls-page{--ink:#f1f0e9;--muted:#c8d0d4;--paper:#11151c;--line:#ffffff1c;--gold:#c5a97a;--green:#20946a;--red:#d5515c;background:radial-gradient(ellipse at 15% 25%,#18375655,transparent 45%),radial-gradient(ellipse at 90% 5%,#18375600,transparent 40%),var(--paper);color:var(--ink);min-height:100vh;color-scheme:dark}
.ls-page .site-header{position:relative;background:#11151c;min-height:82px}.ls-main{max-width:1390px;margin:auto;padding:42px clamp(18px,4vw,70px) 70px}.ls-back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:30px}.ls-back:hover{color:var(--gold)}
.ls-intro{max-width:900px;margin-bottom:38px;animation:ls-enter .6s ease both}.ls-intro .eyebrow{color:var(--gold);font-size:10px;letter-spacing:2.2px;margin-bottom:16px}.ls-intro h1{font-family:Stage,Impact,'Arial Narrow',sans-serif;font-weight:700;font-size:clamp(50px,5.8vw,83px);line-height:.95;letter-spacing:-.6px;margin:0 0 18px}.ls-intro>p:last-child{font-size:14px;line-height:1.7;max-width:660px;color:var(--muted)}
.ls-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}.ls-visual-column{position:sticky;top:24px;min-width:0}.ls-input-column{min-width:0}.ls-visual{position:relative;max-width:600px;margin:auto;background:radial-gradient(ellipse at 50% 50%,#18375655,transparent 65%),linear-gradient(145deg,#25272e,#1d222b);border:1px solid #52617088;border-radius:28px;padding:22px 14px 10px;box-shadow:0 28px 70px #0004,inset 0 1px #ffffff08;animation:ls-enter .7s ease both}.ls-mission{display:flex;justify-content:space-between;gap:10px;padding:0 10px 12px;font:500 12px/1.4 Manrope,Arial,sans-serif;color:var(--muted)}.ls-mission strong{color:var(--gold);font-variant-numeric:tabular-nums}.ls-mission-track{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:0 10px 12px}.ls-mission-track i{height:4px;border-radius:6px;background:#ffffff12;transition:background .3s,box-shadow .3s}.ls-mission-track .is-complete{background:var(--gold);box-shadow:0 0 12px #d6b37866}
.ls-chart{width:100%;height:auto;display:block;overflow:visible}.ls-wheel-label{font:600 16px Manrope,Arial,sans-serif;pointer-events:none}.ls-node{cursor:grab;touch-action:none;outline:none}.ls-handle{fill:#1d222b;stroke:#c5a97a;stroke-width:2;transition:fill .2s,stroke .2s,filter .2s}.ls-node.is-active .ls-handle,.ls-node:focus .ls-handle{fill:#a59863;stroke:#e4c58e;stroke-width:3;filter:drop-shadow(0 0 9px #d6b37888)}.ls-node:active{cursor:grabbing}.ls-value-label{font:700 17px Manrope,Arial,sans-serif;pointer-events:none;fill:#fff}.ls-live-polygon{transition:fill .25s,stroke .25s;stroke-width:4;fill-opacity:.62;filter:drop-shadow(0 0 9px #c5a97a22)}.ls-centre{fill:#151c27;stroke:#c5a97a50;stroke-width:1}.ls-score-number{fill:#f1f0e9;font:600 37px Manrope,Arial,sans-serif;text-anchor:middle}.ls-score-caption{fill:#c8d0d4;font:10px Manrope,Arial,sans-serif;letter-spacing:2px;text-anchor:middle}
.ls-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#11151c;border:1px solid var(--line);padding:5px;border-radius:16px;margin-bottom:18px}.ls-tabs button{min-height:48px;border:0;background:transparent;padding:9px 10px;font:600 13px/1.35 Manrope,Arial,sans-serif;border-radius:11px;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}.ls-tabs button[aria-selected=true]{background:#ffffff08;color:#e4c58e;box-shadow:inset 0 0 0 1px #d6b37855}.ls-page button:focus-visible,.ls-page input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.ls-instruction{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 20px}.ls-area-list{display:grid;gap:10px}.ls-area-row{--accent:#76afea;--value:44%;padding:13px 17px 8px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(120deg,#25272e,#1d222b);display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:2px 14px;align-items:center;transition:border-color .2s,background .2s,box-shadow .2s}.ls-area-row[data-inner=true]{--accent:#ffd520}.ls-area-row.is-active{border-color:var(--accent);box-shadow:0 0 22px #d6b37816;background:#25272e}.ls-area-row.is-rated .ls-dot{box-shadow:0 0 9px var(--accent)}.ls-area-name{font:600 14px/1.4 Manrope,Arial,sans-serif;display:flex;align-items:center;gap:10px}.ls-dot{width:7px;height:7px;background:var(--accent,#c5a97a);border-radius:50%;flex:none}.ls-number{width:64px;min-height:44px;border:1px solid #ffffff20;border-radius:11px;text-align:center;font:700 19px Manrope,Arial,sans-serif;background:#151c27;color:#f1f0e9;padding:3px;font-variant-numeric:tabular-nums}.ls-number::-webkit-inner-spin-button{opacity:1}.ls-range{grid-column:1/-1;width:100%;height:34px;cursor:pointer;appearance:none;background:transparent;margin:2px 0 0;touch-action:pan-y}.ls-range::-webkit-slider-runnable-track{height:5px;border-radius:10px;background:linear-gradient(to right,var(--accent) var(--value),#ffffff12 var(--value))}.ls-range::-webkit-slider-thumb{appearance:none;width:19px;height:19px;background:var(--accent);border:4px solid #1d222b;border-radius:50%;margin-top:-7px;box-shadow:0 0 0 1px var(--accent);transition:box-shadow .2s}.ls-range:active::-webkit-slider-thumb{box-shadow:0 0 0 7px #d6b37825}.ls-range::-moz-range-track{height:5px;border-radius:10px;background:#ffffff22}.ls-range::-moz-range-progress{height:5px;background:var(--accent)}.ls-range::-moz-range-thumb{width:14px;height:14px;border:3px solid #1d222b;border-radius:50%;background:var(--accent)}
.ls-result{margin:20px 0 0;border:1px solid #20946a;background:#20946a9e;border-radius:22px;padding:24px}.ls-result[data-color=red]{border-color:#d5515c;background:#d5515c9e}.ls-result.is-revealed{animation:ls-unlock .55s ease both}.ls-result-badge{display:inline-flex;align-items:center;gap:8px;font:700 11px/1.4 Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:13px;color:#ffffff}.ls-result[data-color=red] .ls-result-badge{color:#ffffff}.ls-result-badge:before{content:'✓';font-size:16px}.ls-result[data-color=red] .ls-result-badge:before{content:'↗'}.ls-result h2{font:600 24px/1.25 Manrope,Arial,sans-serif;margin:0 0 12px;letter-spacing:-.03em}.ls-result p{font-size:13px;line-height:1.7;color:#f1f0e9}.ls-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.ls-total{background:#ffffff03;border:1px solid #ffffff12;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.ls-total span{font-size:12px;color:#f1f0e9}.ls-total strong{font:600 22px Manrope,Arial,sans-serif}
.ls-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.ls-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;border:1px solid #ffffff26;background:#25272e;color:#f1f0e9;border-radius:12px;padding:11px 15px;font:600 12px/1.4 Manrope,Arial,sans-serif;cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}.ls-btn.primary{background:linear-gradient(120deg,#ffd520,#ffd520);border-color:#ffd520;color:#22282f;box-shadow:0 4px 16px #c5a97a20}.ls-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px #0004}.ls-btn:active:not(:disabled){transform:scale(.97)}.ls-btn:disabled{opacity:.4;cursor:default}.ls-link-button{background:none;border:0;color:var(--muted);padding:8px 0;font:12px/1.5 Manrope,Arial,sans-serif;text-decoration:underline;cursor:pointer}
.ls-question-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:16px 0}.ls-question-head h2{font:600 22px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.03em;scroll-margin-top:24px}.ls-progress-copy{font-size:12px;color:var(--gold);white-space:nowrap}.ls-progress{appearance:none;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;display:block;margin:0 0 22px;background:#ffffff12}.ls-progress::-webkit-progress-bar{background:#ffffff12}.ls-progress::-webkit-progress-value{background:linear-gradient(90deg,#c5a97a,#ffd520);transition:width .3s}.ls-progress::-moz-progress-bar{background:#c5a97a}.ls-stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:0 0 15px}.ls-step{border:1px solid var(--line);border-radius:9px;padding:4px;background:#1d222b;color:var(--muted);font-size:12px;min-height:38px;cursor:pointer;transition:background .2s}.ls-step.is-current{background:#ffffff08;border-color:#d6b37888;color:#e4c58e}.ls-step.is-complete{box-shadow:inset 0 -3px var(--green)}.ls-question{min-width:0;border:1px solid var(--line);border-radius:17px;background:#1d222b;padding:16px;margin:0 0 12px;transition:border-color .2s}.ls-question legend{float:left;width:100%;font-size:13px;line-height:1.6;padding:0;margin-bottom:14px}.ls-question legend small{font-size:10px;color:var(--gold);display:block;letter-spacing:.06em;margin-bottom:5px}.ls-scale{clear:both;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ls-scale button{border:1px solid #ffffff20;border-radius:9px;background:#151c27;color:#c8d0d4;min-height:44px;font:600 13px Manrope,Arial,sans-serif;cursor:pointer;padding:0;transition:background .15s,transform .15s,border-color .15s}.ls-scale button[aria-pressed=true]{background:#c5a97a;color:#22282f;border-color:#ffd520;box-shadow:0 0 15px #d6b37830;transform:scale(1.04)}.ls-scale button:hover{border-color:var(--gold)}.ls-question.is-missing{border-color:var(--red)}.ls-question-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.ls-question-actions .primary{min-width:140px}.ls-status{font-size:12px;line-height:1.6;color:#c8d0d4;min-height:20px;margin:12px 0}.ls-error{color:var(--red);font-size:13px;line-height:1.5;margin:12px 0}.ls-notes{margin-top:25px;display:grid;gap:15px;font-size:12px;line-height:1.7;color:var(--muted)}.ls-notes details{border-top:1px solid var(--line);padding-top:12px}.ls-notes summary{cursor:pointer;font-weight:600;color:#e4c58e}.ls-notes details p{margin-top:10px}.ls-history{margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}.ls-history h2{font:500 24px Manrope,Arial,sans-serif;margin-bottom:12px;letter-spacing:-.03em}.ls-history-list{display:grid;gap:10px;margin-top:18px}.ls-history-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#1d222b;padding:14px;border-radius:15px;font-size:13px}.ls-history-row>span{flex:1;line-height:1.6}.ls-history-row .ls-btn{min-height:40px;padding:7px 12px}.ls-history-row .ls-dot{background:var(--red)}.ls-history-row[data-color=green] .ls-dot{background:var(--green)}.ls-page footer{background:#11151c;border-top:1px solid var(--line);padding:30px clamp(18px,5vw,70px);color:#c8d0d4}.ls-page [hidden]{display:none!important}
@keyframes ls-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ls-unlock{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1000px){.ls-main{padding:34px 24px 50px}.ls-workspace{gap:24px}.ls-visual{padding:18px 8px 8px}.ls-area-row{padding:12px 13px 6px}.ls-area-name{font-size:13px}.ls-mission{font-size:11px}}
@media(max-width:760px){.ls-main{padding:28px 16px 45px}.ls-back{margin-bottom:25px}.ls-intro{margin-bottom:26px}.ls-intro h1{font-size:clamp(50px,5.8vw,83px)}.ls-workspace{grid-template-columns:minmax(0,1fr);gap:22px}.ls-visual-column{position:relative;top:auto}.ls-visual{max-width:480px;border-radius:22px;padding:18px 8px 8px}.ls-area-row{padding:13px 16px 7px}.ls-area-name{font-size:14px}.ls-range{height:38px}.ls-result{padding:20px}.ls-actions .ls-btn{flex:1}.ls-question{padding:14px}.ls-question legend{font-size:14px}.ls-history-row{flex-wrap:wrap}.ls-history-row>span{flex-basis:65%}.ls-history-row .ls-btn{flex:1}.ls-tabs button{font-size:12px}}
@media(max-width:390px){.ls-main{padding-inline:12px}.ls-totals{gap:8px}.ls-total{padding:10px}.ls-total strong{font-size:20px}.ls-question-head{align-items:start}.ls-question-head h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ls-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.ls-page header,.ls-input-column,.ls-actions,.ls-history,.ls-page footer,.ls-back{display:none!important}.ls-workspace{display:block}.ls-visual-column{position:static}.ls-visual{max-width:500px}.ls-result{break-inside:avoid}.ls-main{padding:10px}.ls-page{background:#11151c;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
html[lang="ja"] .ls-page :is(h1,h2,button,input),html[lang="ko"] .ls-page :is(h1,h2,button,input){font-family:inherit}

/* Shared type scale and exact brand colours from the preceding detail page. */
.ls-page{background:radial-gradient(ellipse at 90% 12%,#18375655,transparent 48%),linear-gradient(130deg,#25272e,#1d222b);--muted:#c8d0d4;--line:#52617088}
.ls-intro .eyebrow{color:#a7b8c7}
.ls-page :is(.ls-instruction,.ls-result p,.ls-notes,.ls-question legend,.ls-history-row){font-size:14px;line-height:1.7}
.ls-page :is(.ls-back,.ls-tabs button,.ls-btn,.ls-link-button,.ls-scale button){font-size:13px}
.ls-page :is(.ls-area-name,.ls-mission){font-size:14px;line-height:1.5}
.ls-page :is(.ls-status,.ls-progress-copy,.ls-total span){font-size:12px;line-height:1.6}
.ls-question legend small,.ls-result-badge{font-size:9px;letter-spacing:1.5px}
.ls-page :is(.ls-question-head h2,.ls-history h2){font-size:24px;line-height:1.25;letter-spacing:-.7px;font-weight:600}
.ls-total strong,.ls-number{font-size:19px}
.ls-notes summary{color:#e4c58e}
.ls-btn.primary{background:#ffd520;border-color:#ffd520;color:#22282f}
.ls-page footer{font-size:8px;color:#9b9e94}
@media(max-width:600px){.ls-intro h1{font-size:clamp(52px,15vw,68px)}.ls-page :is(.ls-result h2,.ls-question-head h2,.ls-history h2){font-size:21px;line-height:1.25}}

/* White paper output; the interactive website retains its dark theme. */
@media print{
 .ls-page{background:#ffffff!important;color:#152432;color-scheme:light}
 .ls-visual,.ls-result,.ls-result[data-color=red],.ls-total{background:#ffffff!important;box-shadow:none;border-color:#b8c1c7}
 .ls-intro h1,.ls-result h2,.ls-total strong{color:#152432}
 .ls-page .ls-intro>p,.ls-page .ls-result p,.ls-total span,.ls-mission,.ls-mission strong{color:#405260}
 .ls-result-badge{color:#15704f}.ls-result[data-color=red] .ls-result-badge{color:#a43c49}
 .ls-status,.ls-mission-track{display:none!important}
}
