:root{--ink:#253b30;--muted:#5e7567;--line:#d6ddd2;--background:#f7f6ef;--paper:#fffefa;--rust:#a86d4a;--green:#264b38;--soft:#e4ecdf;font-family:'Segoe UI',Inter,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--background)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select,.file-label{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.file-label:focus-visible{outline:3px solid var(--rust);outline-offset:3px}[hidden]{display:none!important}
.shell{max-width:1400px;margin:auto;padding:0 48px}.skip{position:absolute;top:-100px;left:8px;background:var(--paper);padding:12px;z-index:5}.skip:focus{top:5px}.top{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:18px;letter-spacing:.5px;display:flex;align-items:center;gap:12px}.brand-icon{width:42px;height:42px;background:var(--green);color:white;border-radius:9px;display:grid;place-items:center;font:700 17px Georgia,serif}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:var(--muted)}.links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.links a,.links .selected{font-size:12px;font-weight:800;letter-spacing:.6px}.links .selected{color:var(--rust);border-bottom:2px solid var(--rust);padding-bottom:5px}.links button{border:1px solid var(--line);background:white;border-radius:30px;padding:8px 13px;font-weight:800}
.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(265px,1fr);align-items:center;gap:25px;min-height:510px;padding:75px 0 65px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:11px;font-weight:800;color:var(--rust)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1px}h1{font-size:clamp(45px,5.8vw,77px);line-height:1.12;margin:24px 0}h1 em{color:var(--rust);font-weight:400}.hero-lead{font-size:17px;color:var(--muted);line-height:1.9;max-width:690px}.principles{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.principles span{font-size:12px;padding:9px 12px;background:#e9efe6;border-radius:25px;color:#3c6149}.hero-diagram{height:335px;position:relative;display:grid;place-items:center}.ring{position:absolute;border:1px solid #b8cbb6;border-radius:50%}.ring-one{width:240px;height:240px}.ring-two{width:330px;height:330px;border-style:dashed}.hero-core{background:#234b39;color:white;border-radius:50%;width:145px;height:145px;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.2;text-align:center;font:24px Georgia,serif;z-index:2;box-shadow:0 25px 45px #254b3824}.hero-core strong{font:700 11px 'Segoe UI',Arial,sans-serif;letter-spacing:1.2px;margin-top:8px}.orbit{position:absolute;background:var(--paper);font-size:11px;font-weight:800;border:1px solid var(--line);padding:10px 15px;border-radius:20px;z-index:3}.orbit-one{top:35px;left:20px}.orbit-two{top:24px;right:0}.orbit-three{bottom:28px;left:0}.orbit-four{bottom:30px;right:12px}
.foundation,.portability{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:center;border-top:1px solid var(--line);padding:58px 0}.foundation h2,.portability h2,.builder h2,.result h2{font-size:clamp(34px,3.3vw,47px);margin:12px 0}.foundation>p,.portability>p{color:var(--muted);line-height:1.9;margin:0}.builder{margin:10px 0 60px;background:#eef1e9;border-radius:15px;padding:44px 48px}.section-header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.stats{font-size:12px;color:#4d725b;text-align:right}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.form-group{display:flex;flex-direction:column;gap:9px;min-width:0}.form-group>span,.form-group legend,.self-report legend{font-weight:750;font-size:14px}.form-group small,.form-group>small{color:#697c6c;font-size:12px;line-height:1.45}.form-group.full,.form-group.adult{grid-column:1/-1}.form-group.adult{border:1px solid #c5d5c4;border-radius:9px;margin:0 0 4px;padding:15px 16px;display:block}.form-group.adult legend{padding:0 6px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.65}.check input{margin-top:6px;accent-color:#27513d}input[type=text],select{padding:13px 14px;background:var(--paper);border:1px solid #cbd6c9;border-radius:9px;color:var(--ink);width:100%;min-height:47px}.self-report{margin:32px 0 0;border:1px solid #c8d5c6;border-radius:10px;padding:18px 22px}.self-report legend{padding:0 9px}.self-report p{font-size:12px;color:var(--muted);line-height:1.65;margin:0 0 12px}.familiarity-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.familiarity-item{display:grid;gap:7px;font-size:12px}.familiarity-item label{font-weight:750}.controls,.result-actions,.portability-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.controls{margin-top:28px}.primary,.secondary,.file-label{border-radius:7px;min-height:44px;padding:12px 19px;border:1px solid #aac2ad;font-weight:700;font-size:13px}.primary{background:var(--green);color:white;border-color:var(--green)}.secondary,.file-label{background:white;color:var(--green)}.primary:hover{background:#35684e}.secondary:hover,.file-label:hover{background:#e6eede}.privacy{font-size:12px;line-height:1.75;color:#56715e;margin:20px 0 0}.status{font-size:14px;color:#983d2d;min-height:18px}
.result{padding:54px 0 90px;border-top:1px solid var(--line)}.result-header{display:flex;align-items:start;justify-content:space-between;gap:26px}.result-header p:not(.eyebrow){max-width:660px;line-height:1.75;color:var(--muted)}.result-actions{justify-content:flex-end;max-width:440px}.result-actions>button,.result-actions>.file-label{font-size:12px}.disclaimer{border-left:4px solid #c08d64;background:#f5ece2;padding:15px 18px;color:#7b5c42;line-height:1.6;font-size:13px;margin:26px 0}.program-stats{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-weight:750;font-size:12px;padding:10px 0 20px}.program-list{list-style:none;padding:0;margin:0;display:grid;gap:19px}.program-card{padding:25px 29px;background:var(--paper);border:1px solid var(--line);border-radius:11px}.card-top{display:flex;gap:18px;align-items:start}.card-index{display:grid;place-items:center;flex:0 0 42px;height:42px;background:#e3ede1;border-radius:50%;color:#4a7354;font:20px Georgia,serif}.card-top h3{font-size:26px;margin:1px 0 8px}.card-top p{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.6}.badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.badge{font-size:11px;background:#eef1e9;border-radius:18px;padding:7px 10px;color:#44604b}.program-card .why{font-size:12px;color:#8a694a;margin:8px 0 15px}.context{border-left:2px solid #b8946f;padding-left:13px;color:#6b614e;font-size:13px;line-height:1.6}.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:19px 0}.pillar{padding:16px;border:1px solid #e0e8de;border-radius:7px}.pillar b{display:block;font-size:11px;letter-spacing:1px;color:var(--rust)}.pillar p{font-size:13px;line-height:1.6;color:#526658;margin:8px 0 10px}.pillar a{font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px;color:#2d5942}.progress-row{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.progress-row button{border:1px solid #b8cbb9;border-radius:20px;padding:8px 12px;background:white;color:#31533d;font-size:12px}.progress-row button:hover{background:#e8f0e7}.progress-status{font-size:12px;color:var(--muted)}.exit-panel{margin-top:38px;padding:28px 34px;background:#e6ede3;border-radius:11px}.exit-panel h3{font-size:31px;margin:5px 0}.exit-panel p{font-size:14px;line-height:1.75;color:#577260;max-width:720px}.portability{border-bottom:1px solid var(--line);grid-template-columns:1.1fr 1.1fr auto}.portability-actions input,.result-actions input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.portability-actions label,.result-actions label{display:inline-flex;align-items:center}.portability-actions input:focus-visible+label{outline:3px solid var(--rust)}footer{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:35px 0 50px;color:#5c7361;font-size:12px}footer strong{font-size:15px;color:var(--green)}
@media(max-width:1050px){.shell{padding:0 24px}.hero{grid-template-columns:1fr;gap:10px}.hero-diagram{display:none}.portability{grid-template-columns:1fr 1fr}.portability-actions{grid-column:1/-1}.top{align-items:start;flex-direction:column}.result-header{display:block}.result-actions{justify-content:flex-start;max-width:none;margin:15px 0}}@media(max-width:660px){.shell{padding:0 16px}.hero{padding:48px 0;min-height:0}.hero h1{font-size:43px}.foundation,.portability{grid-template-columns:1fr;gap:15px;padding:35px 0}.builder{padding:30px 19px}.fields,.familiarity-list,.pillars{grid-template-columns:1fr}.section-header{display:block}.stats{text-align:left}.program-card{padding:20px 16px}.card-top h3{font-size:22px}.links{gap:10px}.links a,.links .selected{font-size:11px}}@media print{.top,.hero,.foundation,.builder,.portability,.result-actions,.progress-row,footer,.exit-panel{display:none!important}.result{display:block!important;border:0;padding:0}.result-header{display:block}.program-list{gap:10px}.program-card{break-inside:avoid}.pillar a{display:none}.shell{max-width:none;padding:0}body{background:white}.result .disclaimer{border:1px solid #999}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pack-import{margin-top:25px;padding:17px 20px;border:1px dashed #9db9a1;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:17px}
.pack-import strong{font-size:14px}.pack-import p{font-size:12px;line-height:1.6;color:#5c7563;margin:5px 0}
.pack-import input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
@media(max-width:660px){.pack-import{flex-direction:column;align-items:flex-start}}
/* V1.0 - voluntary formative practice; user writing stays exclusively in the textarea. */
.formative-panel{margin:36px 0 44px;padding:26px 30px;border:2px solid #729778;border-radius:15px;background:#f3f7ef}
.formative-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.formative-top h3{margin:7px 0 18px;font:400 clamp(25px,3.4vw,36px)/1.2 Georgia,serif;color:#204532}
.formative-panel p{line-height:1.75}.formative-scenario{padding:18px;background:#e1eee3;border-radius:8px}
.formative-panel label:not(.formative-criterion){display:block;font-weight:700;margin:19px 0 9px}
.formative-panel textarea{width:100%;padding:15px;border:1px solid #8b9d8d;background:#fff;border-radius:8px;line-height:1.6;color:#263c31}
.formative-panel .privacy{font-size:13px;color:#55675e}
.formative-panel button{margin:8px 8px 8px 0}.formative-criteria{display:grid;gap:12px;margin:16px 0}
.formative-criterion{display:flex;gap:15px;align-items:flex-start;padding:13px;background:#fff;border:1px solid #c9d8ce;border-radius:8px}
.formative-criterion input{margin-top:5px}.formative-criterion small{display:block;line-height:1.6;color:#53665b}
.formative-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:18px 0 6px;color:#617267;font-size:13px}
@media(max-width:710px){.formative-panel{padding:17px}.formative-top{flex-direction:column}}
@media print{.formative-panel{display:none!important}}

/* V1.1 private encrypted vault. Opt-in, no engagement nudges. */
.vault-panel{margin:34px 0 60px;padding:30px 36px;background:#e7eee4;border:1px solid #a0b7a2;border-radius:14px;display:grid;gap:18px}
.vault-panel h2{font:400 clamp(27px,3.1vw,40px)/1.2 Georgia,serif;color:#23533d;margin:9px 0}
.vault-panel p{line-height:1.7;max-width:72ch}
.vault-panel .privacy,.vault-note{color:#4d6050;font-size:13px}
.vault-passphrase{font-weight:750;display:block}
#vault-passphrase,#vault-confirm{width:min(100%,520px);padding:13px 15px;font:inherit;background:#fff;color:#223930;border:1px solid #6f9778;border-radius:8px}
#vault-passphrase:focus-visible,#vault-confirm:focus-visible,.vault-actions button:focus-visible,.vault-actions label:focus-visible{outline:3px solid #326a44;outline-offset:3px}
.vault-actions{display:flex;flex-wrap:wrap;gap:11px 12px;align-items:center}
.vault-actions button{min-height:44px;white-space:normal;text-align:center}
.vault-actions input[type=file]{display:none}
.vault-status{margin:0;min-height:1.8rem;font-size:14px;font-weight:650;color:#234b31;overflow-wrap:anywhere}
@media(max-width:700px){.vault-panel{padding:22px 18px}.vault-actions{display:grid;grid-template-columns:1fr}.vault-actions>*{width:100%;justify-content:center}}
@media print{.vault-panel{display:none!important}}

/* V1.2 optional encrypted remote backup pilot. */
.remote-sync-panel{border-color:#8f9dae;background:#edf1f4}
.remote-sync-panel button:disabled{opacity:.5;cursor:not-allowed}
#remote-sync-key{width:min(100%,700px);padding:13px 15px;border:1px solid #71848f;border-radius:8px;font:inherit;background:white;color:#173044}
#remote-sync-key:focus-visible{outline:3px solid #326a44;outline-offset:3px}
#remote-sync-status{min-height:1.6em;overflow-wrap:anywhere;font-size:14px;font-weight:650}
.remote-sync-panel .privacy{max-width:76ch}
@media print{.remote-sync-panel{display:none!important}}


/* V1.3 - voluntary learning compass. No progress score or tracking. */
.compass{margin:18px 0 32px;padding:25px 28px;border:1px solid #bdcdb9;border-radius:13px;background:#edf3e9}
.compass-header h3{margin:8px 0;font-size:clamp(26px,3vw,35px)}
.compass-header p:not(.eyebrow){font-size:14px;line-height:1.7;color:#465d4b;max-width:78ch}
.compass-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;margin:20px 0}
.compass-card{border-radius:10px;background:#fffefa;border:1px solid #ccd9c6;padding:18px 20px;min-width:0}
.compass-card-heading{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;flex-wrap:wrap}
.compass-card-heading strong{font-size:15px;line-height:1.45}
.compass-reason{font-size:12px;color:#526855;line-height:1.65}
.compass-activity{font-size:14px;line-height:1.65;color:#273d31;font-weight:600}
.compass-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:15px}
.compass-actions a{font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px;color:#265438}
.compass-footnote{font-size:12px;line-height:1.7;color:#4d6251;max-width:90ch}
.program-card:target{outline:3px solid #9a6c3e;outline-offset:4px}
@media(max-width:1000px){.compass-list{grid-template-columns:1fr 1fr}}
@media(max-width:660px){.compass{padding:19px 16px}.compass-list{grid-template-columns:1fr}}
@media print{.compass{break-inside:avoid;background:white;border:1px solid #999}.compass-list{grid-template-columns:repeat(3,minmax(0,1fr))}.compass-actions{display:none}}
