/* The session panels sit above a live, projected desk environment. */
.home-app{--home-gutter:clamp(20px,3vw,54px);--home-ink:#203d31;--home-muted:#5c655d;--home-gold:#96712e;--home-border:#c8c9bd;margin:0;min-width:320px;min-height:100svh;background:#f7f5ed;color:var(--home-ink);font:400 16px/1.5 var(--font-body);isolation:isolate}
.home-app *{box-sizing:border-box}
.finance-environment{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(#1c372e 190px,#f7f5ed 254px)}
.finance-environment canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.home-header{position:relative;margin:24px var(--home-gutter) 0;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px}
.home-brand{display:inline-flex;align-items:center;gap:22px;padding:0;color:#f7f6e9;text-decoration:none;font:600 30px/1.1 var(--font-body);letter-spacing:-.025em}
.brand-descriptor{font:400 12px/1.5 var(--font-ui);text-transform:uppercase;letter-spacing:.075em;color:#e9e8dd;padding-left:22px;border-left:1px solid #8e9c9070}
.motion-control{font:400 13px/1.4 var(--font-ui);background:#1c372e80;color:#f7f6e9;border:1px solid #d9ddcfb0;border-radius:3px;padding:10px 14px;min-height:42px;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease}
.motion-control:hover{background:#385244;border-color:#f7f6e9}
.motion-control[hidden]{display:none}
.home-main{position:relative;width:min(580px,43vw);margin:32px var(--home-gutter) 28px auto;padding:0;border:0;background:none;box-shadow:none}
.home-heading{margin:0 0 18px}
.home-heading h1{font:600 clamp(36px,2.7vw,48px)/1.05 var(--font-display);letter-spacing:.015em;color:#f7f6e9;margin:0;text-transform:uppercase}
.session-console{background:none;border:0;border-radius:0;box-shadow:none}
.session-options{display:grid;gap:16px}
.session-choice{min-width:0;padding:24px;background:#faf8f0fa;border:1px solid var(--home-border);border-radius:5px;box-shadow:0 2px 3px #202c2308,0 8px 24px #2936290b;display:flex;flex-direction:column}
.choice-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.choice-kicker{font:400 12px/1.4 var(--font-ui);letter-spacing:.065em;text-transform:uppercase;color:#42594b;margin:0 0 7px}
.choice-top h2{font:600 44px/1.05 var(--font-display);letter-spacing:0;margin:0;color:var(--home-ink)}
.progress-total{flex:none;text-align:right;padding-left:14px}
.progress-total strong{display:block;font:600 32px/1.1 var(--font-display);color:var(--home-ink)}
.progress-total strong span{font-size:26px}
.progress-total b{font:inherit}.progress-total>span{display:block;font:400 12px/1.5 var(--font-ui);color:var(--home-muted);margin-top:4px}
.assignment{display:grid;grid-template-columns:62px minmax(0,1fr);gap:18px;background:#e7e5dc;border:1px solid #deded3;border-radius:4px;padding:18px 17px;color:var(--home-ink)}
.assignment-stage{padding-right:16px;border-right:1px solid #c4c9bd;display:flex;flex-direction:column;justify-content:center}
.assignment-stage>span{font:500 12px/1.4 var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:#7e5e25}
.assignment-stage strong{font:600 48px/1.05 var(--font-display);color:var(--home-gold)}
.assignment-status{font:400 13px/1.5 var(--font-body);color:var(--home-muted);margin:0 0 4px}
.assignment h3{font:600 21px/1.2 var(--font-display);color:var(--home-ink);letter-spacing:0;margin:0;overflow-wrap:anywhere}
.assignment p{font:400 16px/1.5 var(--font-body);color:#3f5147;margin:7px 0 0}
.campaign-progress{margin:18px 0 18px}
.progress-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font:400 12px/1.5 var(--font-ui);color:#485c4e;margin-bottom:8px}
.stage-track{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;height:10px}
.stage-track span{background:#d7d8cf;border-radius:1px}
.stage-track .is-complete{background:#47634f}
.stage-track .is-current{background:#b99a56;box-shadow:inset 0 1px #d8c58d}
.session-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;margin-top:auto}
.session-link{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;background:linear-gradient(#304f3f,#284638);border:1px solid #284638;border-radius:3px;color:#faf8f0;box-shadow:inset 0 1px #ffffff14;text-decoration:none;font:500 14px/1.4 var(--font-ui);text-transform:uppercase;letter-spacing:.02em;transition:background-color 150ms ease,transform 150ms ease,box-shadow 150ms ease}
.session-link:hover{background:#395a46;border-color:#395a46;box-shadow:0 3px 8px #243a2920}
.session-link:active{transform:translateY(1px)}
.session-link>span:last-child{font-size:20px;line-height:1;transition:transform 150ms ease}
.session-link:hover>span:last-child{transform:translateX(3px)}
.home-app a:focus-visible,.motion-control:focus-visible{outline:3px solid #b18a3e;outline-offset:4px}
.session-actions>span{font:400 12px/1.4 var(--font-ui);color:var(--home-muted);text-align:center}
.session-actions>span:empty{display:none}
.demo-choice .choice-top{margin-bottom:14px}
.demo-time{color:#586357;font:400 12px/1.5 var(--font-ui);white-space:nowrap}
.demo-description{font:400 16px/1.5 var(--font-body);color:#354c3f;margin:0 0 18px}
.demo-choice .session-link{background:transparent;border-color:#697a67;color:#284638;box-shadow:none}
.demo-choice .session-link:hover{background:#ecece2;border-color:#395a46}
@media(min-width:1700px){.home-main{width:min(660px,40vw);margin-top:clamp(32px,4.5vh,54px)}.session-choice{padding:26px}.assignment{padding:19px 18px}.assignment h3{font-size:24px}.session-options{gap:18px}}
@media(max-width:1100px){.brand-descriptor{display:none}.home-main{width:48vw;margin-top:28px}.session-choice{padding:21px}.assignment{gap:12px;padding:15px 12px;grid-template-columns:51px minmax(0,1fr)}.assignment-stage{padding-right:10px}.choice-top h2{font-size:39px}.progress-total{padding-left:8px}}
@media(max-width:800px){.home-app{--home-gutter:20px}.finance-environment{background:linear-gradient(#1c372e 85px,#f7f5ed 127px)}.home-header{margin-top:18px;gap:12px}.home-brand{font-size:27px}.home-main{width:auto;margin:215px var(--home-gutter) 25px}.home-heading h1{font-size:34px;color:var(--home-ink)}.session-choice{padding:23px}.assignment{grid-template-columns:58px minmax(0,1fr);gap:16px}.choice-top h2{font-size:41px}.motion-control{font-size:12px;padding:10px 12px}}
@media(max-width:400px){.home-app{--home-gutter:14px}.home-main{margin-top:192px}.session-choice{padding:19px 17px}.choice-top{gap:12px}.choice-top h2{font-size:38px}.assignment{padding:14px 11px;gap:12px;grid-template-columns:46px minmax(0,1fr)}.assignment-stage strong{font-size:43px}.assignment h3{font-size:21px}.progress-caption{flex-wrap:wrap;gap:3px}.progress-total strong{font-size:29px}.progress-total>span{font-size:12px}.home-heading h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.home-app *{transition:none!important;animation:none!important}}
