/* EKODI common user UI layer · CGMA tailored v2 · 2026-09-15 */
:root{--ek-surface:#fff;--ek-surface-soft:#f7f8f5;--ek-border:rgba(20,63,53,.14);--ek-shadow:0 12px 34px rgba(20,63,53,.08);--ek-radius:18px;--ek-touch:44px}
body.cgma-user-page,body.member-user-page{background:#f7f6f1}
body.cgma-user-page :where(a,button,input,select,textarea):focus-visible,body.member-user-page :where(a,button,input,select,textarea):focus-visible{outline:3px solid #f3ca57;outline-offset:3px}
body.cgma-user-page :where(button,.btn,.nav-cta,.text-link),body.member-user-page :where(button,.btn){min-height:var(--ek-touch)}
.header{border-bottom-color:var(--ek-border);box-shadow:0 7px 28px rgba(20,63,53,.055)}
.header nav{gap:.65rem}.header nav>a:not(.nav-cta){padding:.55rem .65rem;border-radius:999px}.header nav>a:not(.nav-cta):hover{background:#fff;color:var(--green)}
.header .language-picker{display:inline-flex;align-items:center;min-height:44px;padding:2px;border:1px solid rgba(20,63,53,.28);border-radius:999px;background:rgba(255,255,255,.78)}.header .language-picker select{min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--green);padding:.45rem 2rem .45rem .8rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;outline:0}.header .language-picker select:focus{background:#fff}.header [data-auth-only][hidden]{display:none!important}
.hero.cgma-hero{min-height:auto;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);background:linear-gradient(135deg,#fbfaf6 0%,#f4f6ef 100%);border-bottom:1px solid var(--ek-border)}
.cgma-hero .hero-copy{padding:clamp(42px,5.5vw,78px) 4vw clamp(36px,5vw,66px) 7vw}.cgma-hero h1{font-size:clamp(3rem,5.6vw,5.5rem);max-width:840px;margin:1.05rem 0 1.25rem}
.hero-context{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.1rem}.hero-context span{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .65rem;border:1px solid var(--ek-border);border-radius:999px;background:rgba(255,255,255,.78);color:#496158;font-size:.7rem;font-weight:800}
.home-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.58rem;max-width:720px;margin-top:1rem}.home-services a{display:flex;align-items:center;gap:.65rem;min-height:58px;padding:.65rem .8rem;border:1px solid var(--ek-border);border-radius:15px;background:rgba(255,255,255,.82);color:#173f34;box-shadow:0 5px 16px rgba(20,63,53,.035);transition:.18s ease}.home-services a:hover,.home-services a.active{transform:translateY(-1px);border-color:rgba(20,63,53,.38);background:#fff;box-shadow:0 9px 22px rgba(20,63,53,.08)}.home-services a.active{box-shadow:inset 0 0 0 1px #173f34,0 9px 22px rgba(20,63,53,.08)}.home-services a span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#eef4e9;color:#173f34;font-size:1rem}.home-services a:nth-child(2n) span{background:#fff0e9}.home-services a:nth-child(3n) span{background:#fff6d8}.home-services b{font-size:.88rem;letter-spacing:-.01em}
.cgma-hero .hero-stats{gap:0;margin-top:1.25rem;padding-top:0;border-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;border:1px solid var(--ek-border);border-radius:16px;background:rgba(255,255,255,.82);overflow:hidden}.cgma-hero .hero-stats div{padding:.85rem 1rem;border-right:1px solid var(--ek-border)}.cgma-hero .hero-stats div:last-child{border-right:0}.cgma-hero .hero-stats strong{font-size:1.35rem;color:var(--green)}.cgma-hero .hero-stats span{margin-top:.2rem}
.cgma-hero .hero-art{min-height:485px;border-radius:0;background:var(--green)}.cgma-hero .art-caption{top:auto;bottom:7%;right:7%;font-size:.76rem;background:rgba(13,47,40,.72);padding:.75rem .9rem;border-radius:12px}.cgma-hero .scroll-hint{display:none}
.section{scroll-margin-top:96px}.section-kicker{font-size:.68rem}.market-map-section,.cgma-resources,.news,.member-login,.member-notice{border-top:1px solid rgba(20,63,53,.08)}
body.cgma-user-page[data-home-view] main>.section:not([hidden]),body.cgma-user-page[data-home-view] main>.join:not([hidden]){animation:cgma-panel-in .22s ease both}@keyframes cgma-panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cgma-mobile-dock{display:none}.member-user-page .top{position:fixed;left:0;right:0;top:0;z-index:1000;min-height:58px;padding:10px max(14px,calc((100vw - 980px)/2));background:rgba(247,246,241,.96);border-bottom:1px solid var(--ek-border);backdrop-filter:blur(14px)}.member-user-page{padding-top:58px}.member-user-page .top .brand{display:flex;align-items:center;gap:.45rem;color:#173f34}.member-user-page .wrap{width:min(900px,calc(100% - 28px))}.member-user-page .compact-hero{padding:28px 0 18px}.member-user-page .compact-hero h1{color:#173f34}.member-user-page .progress-shell,.member-user-page .card,.member-user-page .account-strip{border-color:var(--ek-border);box-shadow:0 7px 24px rgba(20,63,53,.035)}
.member-shortcuts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:12px}.member-shortcuts a{display:inline-flex;align-items:center;min-height:38px;padding:.45rem .7rem;border:1px solid var(--ek-border);border-radius:999px;background:#fff;color:#35564b;text-decoration:none;font-size:.72rem;font-weight:800}
@media(max-width:900px){.hero.cgma-hero{grid-template-columns:1fr}.cgma-hero .hero-copy{padding:3rem 1.2rem 2.2rem}.cgma-hero .hero-art{min-height:380px}.home-services{grid-template-columns:repeat(3,minmax(0,1fr))}.ticker{font-size:.85rem}.header nav{gap:.35rem}.header nav>a:not(.nav-cta){padding:.65rem .8rem}.header .language-picker{width:100%;padding:2px}.header .language-picker select{width:100%}}
@media(max-width:720px){body.cgma-user-page,body.member-user-page{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.cgma-hero .hero-art{display:none}.cgma-hero .hero-copy{padding-bottom:1.8rem}.cgma-hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.home-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.home-services a{min-height:54px;padding:.55rem .65rem}.home-services a span{flex-basis:31px;width:31px;height:31px}.cgma-hero .hero-stats{grid-template-columns:repeat(3,1fr)}.cgma-hero .hero-stats div{padding:.75rem .6rem}.cgma-hero .hero-stats strong{font-size:1.16rem}.cgma-hero .hero-stats span{font-size:.62rem}.cgma-mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom,10px));z-index:1200;border:1px solid rgba(20,63,53,.16);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(20,63,53,.18);backdrop-filter:blur(16px);overflow:hidden}.cgma-mobile-dock a{display:grid;place-items:center;gap:1px;min-height:58px;padding:.45rem .2rem;color:#52655e;text-decoration:none;font-size:.62rem;font-weight:800}.cgma-mobile-dock a span{font-size:1rem}.cgma-mobile-dock a.primary-dock{background:#173f34;color:#fff}.member-user-page .top{padding-left:12px;padding-right:12px}.member-user-page .top .subtle{font-size:11px}}
@media(max-width:480px){.hero-context span:nth-child(n+3){display:none}.home-services b{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.home-services a,.shop-card,.scene-card{transition:none!important}body.cgma-user-page[data-home-view] main>.section:not([hidden]),body.cgma-user-page[data-home-view] main>.join:not([hidden]){animation:none}}
