:root{scroll-padding-top:100px}.hero{padding:42px 0 52px}.hero .portrait img{height:auto;aspect-ratio:4/4.8;max-height:570px;object-fit:cover}.eco-hub{padding-top:25px;padding-bottom:36px}.eco-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eco-heading h2{font-size:27px;margin:5px 0}.eco-guide-link{display:flex;align-items:center;gap:12px;font-size:11px;color:#e5b9c6;border:1px solid #64384b;padding:10px 14px;border-radius:9px}.eco-guide-link svg,.eco-update a svg{width:17px;height:17px}.eco-shortcuts{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.eco-shortcut{display:flex;align-items:center;flex-direction:column;text-align:center;border:1px solid #392734;border-radius:15px;background:linear-gradient(145deg,#21151f,#121117);padding:20px 10px;transition:border-color .15s,transform .15s}.eco-shortcut:hover{border-color:#c94765;transform:translateY(-3px)}.eco-icon{display:grid;place-items:center;width:50px;height:50px;border:1px solid #643247;border-radius:14px;background:#3b1828;color:#ff849b;margin-bottom:13px}.eco-icon svg{width:26px;height:26px}.eco-shortcut strong{font-size:12px}.eco-shortcut small{font-size:9px;color:#b9a6b5;margin-top:5px}.eco-update{display:flex;align-items:center;gap:20px;background:linear-gradient(100deg,#211c16,#17121a);border:1px solid #5c4735;border-radius:14px;padding:18px 24px;margin-top:22px}.eco-update-tag{color:#e6c98a;border:1px solid #6b5735;padding:4px 10px;border-radius:5px;font-size:10px;white-space:nowrap}.eco-update strong{font-size:13px}.eco-update p{font-size:11px;margin:4px 0 0}.eco-update a{display:flex;gap:12px;align-items:center;margin-right:auto;white-space:nowrap;font-size:11px;color:#f0c481}.eco-path-section{background:radial-gradient(ellipse at 12% 60%,#35142680,transparent 60%);padding-top:45px}.eco-path-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px}.eco-path-options{display:flex;flex-direction:column;gap:13px}.eco-path-options button{display:flex;align-items:center;text-align:right;gap:19px;color:#eee2ed;border:1px solid #46303f;border-radius:14px;padding:20px;background:#17131b}.eco-path-options button>span{font:14px Arial;color:#b18295}.eco-path-options strong{font-size:16px;display:block}.eco-path-options small{font-size:11px;color:#b5a3b1;display:block;margin-top:4px}.eco-path-options button[aria-pressed=true]{border-color:#e13e62;background:linear-gradient(110deg,#391728,#21141f);box-shadow:inset -3px 0 #f64d73}.eco-path-result{padding:30px;border-radius:19px;background:linear-gradient(135deg,#281824,#121218);border:1px solid #6d364d}.eco-path-result h3{font-size:28px;margin:10px 0}.eco-path-result p{font-size:13px;line-height:2.2;min-height:85px}.eco-path-result>small{font-size:10px;color:#b4a0b0;display:block;margin-top:14px}.eco-mini-steps{display:flex;list-style-position:inside;gap:20px;padding:0;font-size:10px;color:#d5b6c9;margin:20px 0}.eco-method .text-link{display:inline-block;margin-top:22px}.eco-bottom-nav{display:none}.eco-support-link{position:fixed;bottom:25px;left:22px;z-index:35;display:flex;gap:8px;align-items:center;border:1px solid #b74868;background:#2e1423;color:#ffe8f0;border-radius:40px;padding:12px 17px;box-shadow:0 7px 30px #0008;font-size:11px}.eco-support-link svg{width:21px;height:21px}.analysis-card details{width:100%;font-size:11px;border-top:1px solid #473441;padding-top:10px}.analysis-card summary{cursor:pointer;color:#ffa2b6;min-height:35px}.analysis-card .micro{line-height:1.9}@media(max-width:1000px){.eco-shortcuts{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.hero{padding:24px 0 28px}.hero .portrait{max-width:340px;margin:auto;width:100%}.hero .portrait img{height:320px;aspect-ratio:auto;object-position:center 23%}.hero-grid{gap:22px}.hero h1{font-size:32px;line-height:1.8;margin-top:10px}.hero-copy>p{font-size:13px}.hero .portrait-label{bottom:32px;padding:10px 14px}.eco-heading{align-items:flex-start;flex-direction:column;gap:10px}.eco-heading h2{font-size:24px}.eco-shortcuts{gap:9px}.eco-shortcut{padding:15px 6px}.eco-shortcut strong{font-size:10px}.eco-shortcut small{display:none}.eco-icon{width:43px;height:43px;margin-bottom:9px}.eco-update{flex-wrap:wrap;gap:10px;padding:17px}.eco-update>div{flex:1;min-width:170px}.eco-update a{margin-right:auto}.eco-path-layout{grid-template-columns:1fr}.eco-path-options button{padding:15px}.eco-path-options strong{font-size:14px}.eco-path-result{padding:22px}.eco-path-result h3{font-size:25px}.eco-mini-steps{gap:12px;font-size:9px}.eco-support-link{display:none}.eco-bottom-nav{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:40;background:#151019f7;border-top:1px solid #61404f;padding:9px 8px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -5px 30px #0005}.eco-bottom-nav a{display:flex;align-items:center;flex-direction:column;gap:4px;flex:1;color:#b7a8b6;font-size:10px;min-height:44px;padding:3px;border-radius:9px}.eco-bottom-nav svg{width:22px;height:22px}.eco-bottom-nav a[aria-current=page]{background:#471c30;color:#ff9bb2}body{padding-bottom:calc(79px + env(safe-area-inset-bottom))}.footer-end{padding-bottom:25px}}@media(prefers-reduced-motion:reduce){.eco-shortcut{transition:none}.eco-shortcut:hover{transform:none}}
.chart-figure{margin:15px 0;width:100%}.chart-open{display:block;border:1px solid #543647;background:#0c0c13;padding:0;border-radius:10px;overflow:hidden;width:100%;cursor:zoom-in}.chart-figure img{width:100%;height:auto;display:block}.chart-figure figcaption{font-size:10px;color:#bda5b6;margin-top:8px;line-height:1.9}.chart-empty{font-size:11px;padding:14px}.chart-dialog{width:min(1100px,95vw);max-height:90vh;padding:20px;border:1px solid #87435d;border-radius:17px;background:#131019;color:#fff;overflow:auto}.chart-dialog::backdrop{background:#000b}.chart-dialog img{width:100%;height:auto;margin:15px 0}.chart-dialog>.btn{font-size:12px}[data-analysis-full]{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:750px){[data-analysis-full]{grid-template-columns:1fr}.chart-dialog{padding:12px}}

.course-banner-actions{display:flex;gap:10px;flex-wrap:wrap}
.course-personal{margin-top:28px;padding:22px;border:1px solid rgba(22,122,90,.22);border-radius:20px;background:linear-gradient(135deg,rgba(22,122,90,.07),rgba(255,255,255,.75));box-shadow:0 18px 42px rgba(14,71,51,.06)}
.course-personal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.course-personal-head h2{margin:.25rem 0 .5rem}.course-progress-number{display:grid;justify-items:center;min-width:88px;padding:12px 16px;border-radius:16px;background:#fff;border:1px solid rgba(22,122,90,.18)}
.course-progress-number b{font-size:1.45rem;color:#0d6b4b}.course-progress-number span{font-size:.72rem;color:#526158}
.course-progress-track{height:10px;background:#e3eee8;border-radius:999px;overflow:hidden;margin:18px 0 12px}.course-progress-track>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#167a5a,#45b982);border-radius:inherit;transition:width .35s ease}
.course-personal-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px;font-size:.78rem;color:#526158}
.course-login-callout{grid-column:1/-1;border-style:dashed!important}
.course-session-card{position:relative;display:flex;flex-direction:column;gap:10px}.course-session-card.current{border-color:rgba(22,122,90,.55);box-shadow:0 0 0 2px rgba(22,122,90,.08),0 16px 34px rgba(14,71,51,.08)}
.course-session-card.completed{background:linear-gradient(180deg,rgba(22,122,90,.055),#fff)}
.course-session-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-session-top .chip.good{background:#e7f6ed;color:#116740;border-color:#a7d2b8}.course-session-top .chip.current{background:#e8f3ee;color:#0d6b4b;border-color:#87c1a6}
.course-video-details{border-top:1px solid rgba(22,122,90,.12);padding-top:10px}.course-video-details summary{cursor:pointer}
.course-report-box{margin-top:auto;border-top:1px solid rgba(22,122,90,.12);padding-top:11px}.course-report-box summary{cursor:pointer}
.course-report-form{display:grid;gap:10px;margin-top:12px}.course-report-field{display:grid;gap:6px}.course-report-field span{font-size:.75rem;font-weight:700}.course-report-field select,.course-report-field textarea{width:100%;border:1px solid #c9dbd0;border-radius:11px;padding:10px 11px;background:#fff;color:#17231d;font:inherit}.course-report-status{min-height:1.3em}
@media(max-width:720px){.course-personal-head{display:grid}.course-progress-number{justify-self:start}.course-banner-actions{width:100%}.course-banner-actions .btn{flex:1 1 150px;text-align:center}}
@media(prefers-color-scheme:dark){.course-personal{background:linear-gradient(135deg,#173126,#14231c);border-color:#355445}.course-progress-number{background:#172820;border-color:#355445}.course-progress-number b{color:#8fd8b7}.course-progress-number span,.course-personal-meta{color:#b9c9c0}.course-progress-track{background:#263a31}.course-session-card.completed{background:linear-gradient(180deg,#172a22,#14231c)}.course-report-field select,.course-report-field textarea{background:#14231c;color:#f1f7f3;border-color:#355445}}

.analysis-bias.bullish{background:#e8f6ee!important;color:#0f6842!important;border-color:#a8d1b9!important}.analysis-bias.bearish{background:#fff0f0!important;color:#963939!important;border-color:#dfb0b0!important}.analysis-bias.neutral{background:#f2f4f3!important;color:#526158!important;border-color:#cbd5cf!important}
.analysis-fresh{background:#e8f6ee!important;color:#0f6842!important}.analysis-stale{background:#fff4e4!important;color:#84591c!important}
.analysis-brief{display:grid;gap:18px}.analysis-time-row{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 0;border-top:1px solid rgba(22,122,90,.12);border-bottom:1px solid rgba(22,122,90,.12)}
.analysis-level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analysis-level{display:grid;gap:4px;padding:13px;border-radius:14px;border:1px solid #d5e2da;background:#fff}.analysis-level span{font-size:.68rem;font-weight:800}.analysis-level b{font-size:1rem}.analysis-level.resistance{border-top:3px solid #c05a5a}.analysis-level.support{border-top:3px solid #2a8d69}
.analysis-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analysis-control{display:grid;gap:5px;padding:14px;border-radius:15px;border:1px solid #d5e2da}.analysis-control small{font-weight:750}.analysis-control.danger{background:#fff5f5}.analysis-control.neutral{background:#f5f8f6}
.analysis-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:14px}.analysis-scenario{padding:17px;border-radius:16px;border:1px solid #d5e2da}.analysis-scenario p{white-space:pre-line;margin:.55rem 0 0}.analysis-scenario.bullish{background:#f2faf5;border-color:#b8dcc7}.analysis-scenario.bearish{background:#fff6f6;border-color:#e2c1c1}.analysis-body{padding-top:6px;line-height:2}.analysis-expired{border-color:#d2b77e!important;background:#fff8e9!important;color:#6c4c1d!important}
@media(max-width:720px){.analysis-level-grid{grid-template-columns:1fr 1fr}.analysis-control-grid,.analysis-scenarios{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){.analysis-bias.bullish{background:#173126!important;color:#8fd8b7!important;border-color:#416c58!important}.analysis-bias.bearish{background:#351f1f!important;color:#f0b5b5!important;border-color:#745050!important}.analysis-bias.neutral{background:#1b2822!important;color:#c5d3cb!important;border-color:#405248!important}.analysis-level,.analysis-control,.analysis-scenario{background:#14231c;border-color:#355445}.analysis-control.danger{background:#2e1c1c}.analysis-control.neutral{background:#172820}.analysis-scenario.bullish{background:#173126;border-color:#355b49}.analysis-scenario.bearish{background:#2e1c1c;border-color:#674646}.analysis-expired{background:#302819!important;color:#f1d58f!important;border-color:#6c5834!important}}

.service-access-card{margin:0 0 24px;padding:22px;border:1px solid rgba(22,122,90,.22);border-radius:20px;background:linear-gradient(135deg,rgba(22,122,90,.065),#fff);box-shadow:0 18px 40px rgba(14,71,51,.055)}
.service-access-loading{color:#526158;font-size:.82rem}.service-access-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.service-access-head h2{margin:.2rem 0 .45rem}.service-access-head p{margin:0;color:#526158;max-width:720px}
.service-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:8px 12px;border-radius:999px;border:1px solid #cad8d0;background:#f4f7f5;font-size:.72rem;font-weight:850;white-space:nowrap}
.service-status-pill[data-state=active]{background:#e8f6ee;color:#0d6b4b;border-color:#a8d1b9}.service-status-pill[data-state=expired]{background:#fff1f1;color:#963939;border-color:#dfb0b0}.service-status-pill[data-state=attention]{background:#fff7e8;color:#7c5819;border-color:#ddc48c}.service-status-pill[data-state=guest],.service-status-pill[data-state=inactive]{color:#526158}
.service-access-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.service-meta-item{display:grid;gap:4px;padding:11px 12px;border:1px solid #d5e2da;border-radius:13px;background:#fff}.service-meta-item small{font-size:.67rem;color:#526158}.service-meta-item b{font-size:.8rem}
.service-access-actions{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:760px){.service-access-head{display:grid}.service-status-pill{justify-self:start}.service-access-meta{grid-template-columns:1fr 1fr}.service-access-actions .btn{flex:1 1 150px;text-align:center}}
@media(max-width:480px){.service-access-meta{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){.service-access-card{background:linear-gradient(135deg,#173126,#14231c);border-color:#355445}.service-access-loading,.service-access-head p,.service-meta-item small{color:#b9c9c0}.service-meta-item{background:#172820;border-color:#355445}.service-status-pill{background:#172820;border-color:#355445;color:#c8d7cf}.service-status-pill[data-state=active]{background:#173126;color:#8fd8b7;border-color:#416c58}.service-status-pill[data-state=expired]{background:#351f1f;color:#f0b5b5;border-color:#745050}.service-status-pill[data-state=attention]{background:#302819;color:#f1d58f;border-color:#6c5834}}

.content-empty-state{grid-column:1/-1;display:grid;gap:8px;justify-items:start;padding:26px!important;border-style:dashed!important;background:linear-gradient(135deg,rgba(22,122,90,.045),#fff)}
.content-empty-state h3{margin:.15rem 0 .25rem;font-size:1.2rem}.content-empty-state p{max-width:720px;margin:0;color:#526158;line-height:1.95}
.content-empty-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
@media(max-width:560px){.content-empty-state{padding:20px!important}.content-empty-actions{width:100%}.content-empty-actions .btn{flex:1 1 150px;text-align:center}}
@media(prefers-color-scheme:dark){.content-empty-state{background:linear-gradient(135deg,#173126,#14231c);border-color:#355445!important}.content-empty-state p{color:#b9c9c0}}

/* Unified DNA + technical assessment block */
.dashboard-evaluation-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dashboard-evaluation-item{min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(22,122,90,.025)}
.dashboard-evaluation-item h3{margin:8px 0}
.dashboard-evaluation-item p{line-height:1.9}
@media(max-width:720px){.dashboard-evaluation-stack{grid-template-columns:1fr}.dashboard-evaluation-item{padding:14px}}
@media(prefers-color-scheme:dark){.dashboard-evaluation-item{background:#172820;border-color:#355445}}
