
main{max-width:1280px;padding-top:32px}.wrap{padding-inline:max(24px,env(safe-area-inset-left,0px))}body{font-size:16px;line-height:1.65}
.cm-skip{position:absolute;top:-100px;z-index:50}.cm-skip:focus{top:8px;left:8px;background:#1dd3a7;color:#071611;padding:12px}
.bar-inner{max-width:1400px;padding-inline:3vw;padding-block:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px}
.brand{align-items:center;flex-wrap:wrap;gap:8px 14px}.brand>a{display:inline-flex;align-items:center;min-height:44px}.brand h1{font-size:16px;line-height:1.5;font-weight:600;flex:1 1 250px}.brand .code{color:#d9b05c}.brand .logo{width:148px;height:auto;max-height:32px;object-fit:contain}
nav.tabs{grid-row:2;grid-column:1/-1;margin:0;border-top:1px solid #294538;padding-top:12px;gap:8px}.bar-end{justify-content:flex-end;flex-wrap:wrap}.lang select{min-height:44px;font-size:14px;padding:7px 12px}.fp{font-size:11px}
.hero{gap:36px}.hero-text h2{font-size:clamp(48px,4.7vw,64px);line-height:1.12}.lede{font-size:17px;line-height:1.7}.hero-cta .btn{min-height:46px}.btn,.chip,.seg button,nav.tabs a,.tg select{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.tg input[type=checkbox]{min-height:30px;min-width:44px}.hs button{width:44px;height:44px}.hs .tip{inset-inline-start:50px}
.bar-end .fp{max-width:100%}.code-line{overflow-wrap:anywhere;white-space:normal}.stage{min-width:0}.sheet,.tbl{max-width:100%;overflow:auto}.num,.ltr,bdi{direction:ltr;unicode-bidi:isolate}.gal-card button{min-height:44px}.gal-card img{object-fit:contain}.foot.cm-footer{border-top:1px solid #294538;margin-top:32px;background:#06110d}.cm-footer-inner{max-width:1280px;margin:auto;display:flex;flex-wrap:wrap;gap:18px 26px;padding-block:30px;align-items:center;font-size:13px;color:#9fb3ab}.cm-footer-inner img{width:155px;height:auto}.cm-footer-inner .foot-note{flex:1 1 100%;max-width:1000px}.cm-footer-links{display:flex;flex-wrap:wrap;gap:15px}.cm-footer-links a{color:#a8bcb3;text-decoration:none;min-height:44px;display:flex;align-items:center}.cm-footer-links a:hover{color:#1dd3a7}
@media(max-width:1100px){.fp{display:none}.hero{grid-template-columns:minmax(0,1fr)}.hero-text{max-width:850px}.hero-img img{max-height:600px;object-fit:contain}.hero-text h2{font-size:48px}}
@media(max-width:640px){.wrap{padding-inline:18px}.bar-inner{display:flex;gap:8px 14px;padding:10px 18px}.brand{flex:1 1 100%;gap:5px 10px}.brand .logo{width:126px}.brand h1{font-size:14px;flex-basis:100%;order:4}.brand .code{font-size:11px}.divider{display:none}.bar-end{margin-inline-start:auto;position:absolute;inset-inline-end:18px;top:10px}.lang select{font-size:12px;padding:5px;max-width:110px}.brand .sub-brand{font-size:9px;letter-spacing:.18em}nav.tabs{flex:1 1 100%;gap:3px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px;margin:0}nav.tabs a{font-size:11px;white-space:normal;padding:6px;text-align:center;line-height:1.4}.hero-text h2{font-size:36px;line-height:1.2}.lede{font-size:16px}.hero{gap:23px}main{padding-top:22px}.keyfig{grid-template-columns:repeat(2,minmax(0,1fr))}.keyfig dd{font-size:18px}.keyfig div{padding:14px 11px}.hero-cta{gap:8px}.hero-cta .btn{padding:9px 12px;font-size:13px}.stage{aspect-ratio:1.25;min-height:300px}.views{padding:7px;gap:4px}.chip{padding:5px 8px;font-size:11px}.hs button{width:40px;height:40px}.hs .tip{max-width:170px;font-size:11px}.hs .tip{inset-inline-start:0;top:40px;transform:none}.cm-footer-inner{gap:14px;font-size:12px}.brand,.hero-text,.overview,.bar-end,nav.tabs,.keyfig div{min-width:0}.notice{inset:auto 10px 140px}.lightbox .lb-bar{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.cm-webgl-fallback{position:absolute;inset:0;z-index:3;background:#071611;display:flex;flex-direction:column;justify-content:center}.cm-webgl-fallback>img{width:100%;height:70%;object-fit:contain}.cm-webgl-fallback>div{padding:12px;text-align:center;background:#0c2019;font-size:12px}.cm-webgl-fallback p{margin:0 0 8px}.cm-webgl-fallback a{padding:8px 12px;min-height:44px}

.cm-concept-note{font-size:12px;line-height:1.6;color:#d9b05c;margin:16px 0 0}
@media(max-width:640px){.bar-inner .brand{display:grid;grid-template-columns:130px minmax(0,1fr);width:100%;row-gap:3px}.brand>a{grid-row:1;grid-column:1;min-height:44px}.brand .sub-brand{grid-row:2;grid-column:1;align-self:center}.brand .code{grid-row:2;grid-column:2;justify-self:end}.brand h1{grid-row:3;grid-column:1/-1;margin-top:5px}}
