/* TheJiniusLab water palette. Presentation only: keep learning states and flows. */
:root{
 --surface-pearl:#edf1f2;--surface-paper:#f6f8f9;--surface-mist:#dce5e9;
 --water-deep:#122638;--water-mid:#254457;--water-accent:#527985;
 --text-deep:#203744;--text-muted:#586d79;--line-cool:#cbd7de;
 --success-ink:#32695c;--success-soft:#e8f1ed;--review-ink:#855429;--review-soft:#fbf0e2;
 --bg:var(--surface-pearl);--ink:var(--text-deep);--muted:var(--text-muted);
 --line:var(--line-cool);--green:var(--water-mid);--lime:#d7e7eb;
}
html{background:var(--surface-pearl);color:var(--text-deep);scroll-padding-top:24px}
body{background:var(--surface-pearl);color:var(--text-deep);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}
header,.site-header{background:var(--surface-pearl);border-bottom:1px solid var(--line-cool)}
.brand{color:var(--text-deep);font-size:17px;font-weight:700;letter-spacing:-.5px;gap:10px}
.brand .brand-logo{width:38px;height:38px;padding:4px;border-radius:50%;background:#f6f8f9;object-fit:contain;flex:none}
.header-tag{color:var(--text-muted);font-size:14px;font-weight:500}
h1,h2,h3{color:inherit;letter-spacing:-.04em}
h1{font-weight:650}h2{font-weight:650}
.eyebrow,.stage-tag,.practice-badge{color:var(--water-accent);font-size:13px;letter-spacing:.07em;font-weight:650}
a{color:var(--water-mid);text-underline-offset:4px}
.muted,.small.muted,.legal,.empty,.save-status,.saved-note,.summary-note,.header-tag{color:var(--text-muted)}
.small{font-size:14px;line-height:1.75}
button,a.button{background:var(--water-mid);border-radius:12px;box-shadow:0 3px 0 #193446;color:#fff;transition:background .15s ease,box-shadow .15s ease}
button:active:not(:disabled),a.button:active{box-shadow:0 1px 0 #193446}
button:disabled{box-shadow:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #527985;outline-offset:4px}
.secondary{background:var(--surface-mist)!important;color:var(--water-mid)!important;box-shadow:0 3px 0 #c3d1d9}
.quiet{color:var(--text-muted)!important;box-shadow:none}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:#fff;color:var(--text-deep);border-color:#b9cbd5;font-size:max(16px,1rem);min-height:48px}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--water-mid)}
.card{background:var(--surface-paper);border-color:var(--line-cool);box-shadow:0 6px 20px #20374405}
.message{color:var(--water-mid);background:#e5edf1;border-color:#bfd0da}
.message.error,.error{color:#8e3925;background:#fff0e7;border-color:#eccdbb}
.pill,.lesson-meta span,.lesson-top .target-line{background:#e3ecf0;color:var(--water-mid)}
.hero,.result-hero,.learning-report .growth-hero{background:var(--water-deep);color:#f6f8f9}
.hero .muted,.hero .eyebrow,.hero .pill,.learning-report .growth-hero .report-kicker{color:#d0dfe6}
.hero .pill{background:#2e495c}
.hero button{background:#d7e7eb;color:var(--water-deep);box-shadow:0 3px 0 #9fbac5}
.progress-track,.score-track{background:var(--surface-mist)}
.progress-track i,.progress-track div,.score-track i{background:var(--water-accent)}
.course-list li{border-color:var(--line-cool)}
.course-list .number,.phase span{background:#e1e9ed;color:var(--water-mid)}
.course-list small,.condition-label,.condition-arrow,.condition-result strong,.experiment-output,.speed-comparison,.observed-mark,.explore-choices .observed-mark{color:var(--text-muted)}
.course-list .completed,.completed{background:var(--success-soft);color:var(--success-ink)}
.phase [aria-current]{background:var(--water-mid);color:white}
.choice,.practice-choice,.answer-option{border-color:var(--line-cool)!important;background:#fff!important;color:var(--text-deep)!important;box-shadow:0 3px 0 #d0dce3}
.choice[aria-pressed=true],.practice-choice.selected,.answer-option[aria-pressed=true]{border-color:var(--water-accent)!important;background:#e5eef2!important;box-shadow:0 3px 0 #8ba7b5}
.experiment,.evidence,.question-data,.help-visual,.mission-guide,.formula{background:#e6edf1;border-color:var(--line-cool)}
.experiment-bar,.bar-row i{background:#7194a3}
.question-data figcaption,.question-data small,.question-number{color:var(--text-muted)}
.question-data svg text{fill:var(--text-deep)}
.unit-box,.help-result,.result{background:#e6eff1;border-color:#bdd0d9;color:var(--water-mid)}
.result-eyebrow,.result-score strong span,.result-score>span,.result-totals,.result-first-record{color:#d5e3eb}
.result-eyebrow>span{background:#bfd6dc;color:var(--water-deep)}
.result-first-record{border-color:#466477}
.result-track .is-correct{background:#a9d0c4}.result-track span{background:#ddbb8e}
.result-success{background:var(--success-soft);color:var(--success-ink)}
.result-focus{background:var(--review-soft);border-color:#dfc6a7}.result-focus h3,.result-focus-icon{color:var(--review-ink)}
.result-section-title>span,.answer-disclosure,.answer-explanation h4,.result-next p{color:var(--text-muted)}
.result-map button{background:var(--success-soft);border-color:#bed3cb;color:var(--success-ink);box-shadow:0 3px 0 #c9dcd4}
.result-map button.is-wrong{background:var(--review-soft);border-color:#dcb485;color:var(--review-ink);box-shadow:0 3px 0 #e6d3bb}
.answer-review{border-color:var(--line-cool);border-left-color:#669a8a;background:#fff}
.answer-review.is-wrong{border-color:#dec4a5;border-left-color:#b18451}
.answer-status,.answer-expected{background:var(--success-soft);color:var(--success-ink);border-color:#c7dcd3}
.is-wrong .answer-status,.answer-selected{background:var(--review-soft);color:var(--review-ink);border-color:#e1cab1}
.answer-explanation{border-color:var(--line-cool)}
.report-tabs{background:var(--surface-mist)}.report-tabs button{box-shadow:none;color:var(--text-muted)}
.report-tabs button[aria-pressed=true]{background:var(--surface-paper);color:var(--water-mid)}
.report-overview{background:var(--water-deep)!important;color:#fff}
.report-overview .eyebrow,.report-overview .practice-badge,.report-hero p,.report-hero b,.report-metrics span,.report-metrics small{color:#d1e2e9}
.recall-ring{background:conic-gradient(#a9c9d2 var(--value),#38566b 0)}.recall-ring>div{background:var(--water-deep)}
.recall-ring strong,.recall-ring strong small,.recall-ring span{color:#e8f0f4}
.learning-report .report-kicker,.learning-report .section-intro,.learning-report .unit-caption,.learning-report .goal-status-list p,.learning-report .score-note,.unit-count small,.score-stat>span,.score-stat .not-yet,.state-legend,.unit-heading small,.unit-caption,.unit-caption>span,.goal-status-list small,.report-rules,.data-note{color:var(--text-muted)}
.growth-message,.journey-heading strong,.journey-heading small,.journey-heading>span,.achievement span{color:#e0edf3}
.journey-track i{background:#3c596b}.journey-track i.done{background:#a9c9d2}.achievement-grid{border-color:#49687c}
.learning-report .next-focus,.score-stat,.review-preview,.report-empty{background:#e4edf1;border-color:var(--line-cool);color:var(--text-deep)}
.state-unseen{background:#e0e6ea;color:#596b78}.state-today{background:#c5d9e1;color:#28485b}.state-checked{background:#6b8c91;color:white}.state-retained{background:#254457;color:white}.state-needs{background:#e9c59a;color:#634015}
.trend-chart{color:var(--water-accent)}.small-pill,.review-route span{border-color:var(--line-cool)}
.completion-check,.success-mark{background:var(--success-soft)!important;color:var(--success-ink)!important}
/* Public concept activities retain A/B and correct/review colour distinctions. */
.scenario div{background:#e5eef2;border-color:#c8d8e0}.scenario div:last-child{background:var(--review-soft);border-color:#dfc6a7}
.scenario small,.option-label,.ruler,.playback-note,.navigation #nextHint,.progress{color:var(--text-muted)}
.runner-a,.a{background:#527985}.runner-b,.b{background:#b18451}.bar-row:nth-child(2) i{background:#b18451}
.chip{background:#e1eaf0}.navigation{background:var(--surface-pearl)}
#recordCard{background:var(--surface-paper)}
/* Application uses the same spacious public-page voice; form IDs and flow stay intact. */
.application main{max-width:1160px;margin:0 auto;padding:70px 32px 80px}
.application-intro{max-width:760px;margin-bottom:46px}
.application-intro .eyebrow{display:block;margin-bottom:22px}
.application-intro h1{font-size:clamp(34px,4vw,54px);font-weight:550;line-height:1.3;letter-spacing:-.055em;margin:0 0 24px}
.application-intro>p{font-size:18px;line-height:1.8;margin:0}
.application-layout{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:28px;align-items:start}
.application #programInfo>.card:first-child,.application #applicationCard{margin-top:0}
.application #programInfo>.hero{padding:32px;border-radius:18px;border-color:var(--water-deep)}
.application #programInfo>.hero h2{font-size:30px;margin:22px 0 16px;letter-spacing:-.045em}
.application .program-summary{padding-left:20px;font-size:16px;line-height:1.8}
.application #programInfo>.card:not(.hero){padding:28px;background:var(--surface-paper)}
.application #applicationCard{background:#fff;border-radius:18px;padding:30px;box-shadow:0 12px 34px #20374408;scroll-margin-top:24px}
.application #applicationCard>h2{font-size:26px;margin-top:0}
.application #payment{background:#e8eff2;border:1px solid #d2e0e7;border-radius:12px;padding:18px 20px;margin:20px 0 28px;font-size:15px}
.application #payment p{margin:0 0 12px}.application #payment p:last-child{margin:0}.application #payment strong{font-size:18px;color:var(--water-mid)}
.application #form>label:not(.check-label){font-size:15px;font-weight:550;margin-top:20px}
.application #form input,.application #form select{margin-top:7px}
.application .check-label{font-size:15px;line-height:1.65;gap:10px}
.application .check-label input{margin-top:4px;accent-color:var(--water-mid)}
.application details{border-color:var(--line-cool)}
.application details>summary{font-size:15px;color:var(--text-muted)}
.application #submit{min-height:54px;font-size:17px;margin-top:24px}
.application .application-contact{border-top:1px solid var(--line-cool);padding-top:25px;margin-top:32px;font-size:14px}
@media(max-width:760px){
 .application main{padding:38px 20px 56px}.application-intro{margin-bottom:30px}.application-intro>p{font-size:17px}
 .application-layout{display:block}.application #programInfo>.hero{padding:26px 24px}.application #programInfo>.hero h2{font-size:27px}
 .application #applicationCard{padding:25px 22px;margin-top:28px}.application #programInfo>.card:not(.hero){padding:24px 22px}
 .application #payment{padding:16px;font-size:15px}.brand{font-size:16px}.header-tag{font-size:13px}.brand .brand-logo{width:34px;height:34px}
}
@media(max-width:360px){header,.site-header{padding-left:16px;padding-right:16px;gap:8px}.brand{font-size:14px;gap:7px}.header-tag{font-size:12px}.application main{padding-inline:16px}.application #applicationCard{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){button,a.button{transition:none}}
