:root { --entry-green: #7cff45; --entry-text: #f7f8f7; --entry-muted: #b7bdc4; }
html.solmgx-entry-open, html.solmgx-entry-open body { overflow: hidden !important; }
#solmgx-entry-portal { position: fixed; inset: 0; z-index: 2147483000; overflow: auto; color: var(--entry-text); background: #020607; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; isolation: isolate; }
.entry-backdrop, .entry-shade { position: fixed; inset: 0; pointer-events: none; }
.entry-backdrop { z-index: -2; background: #030809 url('/entry-portal-bg-v1.png') center center / cover no-repeat; transform: scale(1.012); }
.entry-shade { z-index: -1; background: linear-gradient(180deg, rgba(2,7,8,.13) 0%, rgba(2,7,8,.25) 55%, rgba(2,7,8,.56) 100%), radial-gradient(ellipse at 50% 38%, rgba(1,6,7,.08) 0%, rgba(1,6,7,.28) 72%, rgba(1,5,6,.66) 100%); }
.entry-shell { width: min(1536px, calc(100% - 88px)); min-height: 100%; margin: 0 auto; display: flex; flex-direction: column; }
.entry-header { min-height: 92px; display: flex; align-items: center; justify-content: space-between; }
.entry-brand { display: inline-flex; align-items: center; gap: 14px; }
.entry-brand-mark { width: 54px; height: 54px; display: block; filter: drop-shadow(0 0 14px rgba(87,111,255,.28)); }
.entry-brand-mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
.entry-brand strong { font-size: 31px; font-weight: 820; letter-spacing: -.045em; text-shadow: 0 2px 18px rgba(0,0,0,.42); }
.entry-nav { display: flex; align-items: center; gap: 22px; }
.entry-nav button { border: 0; padding: 8px 0; color: #c2c6cb; background: transparent; font: inherit; font-size: 16px; cursor: pointer; text-shadow: 0 2px 12px #000; }
.entry-nav button:hover { color: #fff; }
.entry-nav i { width: 1px; height: 19px; background: rgba(255,255,255,.42); }
.entry-main { flex: 1; display: flex; flex-direction: column; justify-content: center; width: min(1180px, 100%); margin: 0 auto; padding: 28px 0 22px; }
.entry-hero { text-align: center; margin: 0 auto 37px; }
.entry-kicker { margin: 0 0 22px; color: var(--entry-green); font-size: 13px; font-weight: 760; letter-spacing: .38em; text-shadow: 0 0 20px rgba(124,255,69,.52); }
.entry-hero h1 { margin: 0; font-size: clamp(42px, 4.4vw, 68px); line-height: 1.12; font-weight: 830; letter-spacing: .035em; text-shadow: 0 5px 24px rgba(0,0,0,.82); }
.entry-subtitle { margin: 17px 0 0; color: #c6c9cf; font-size: clamp(17px, 1.65vw, 25px); letter-spacing: .08em; text-shadow: 0 3px 18px #000; }
.entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.entry-card { position: relative; min-height: 354px; padding: 40px 30px 26px; overflow: hidden; display: flex; flex-direction: column; align-items: center; border: 1px solid rgba(180,201,218,.58); border-radius: 18px; background: linear-gradient(155deg, rgba(15,25,27,.82), rgba(5,12,15,.88)); box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.035); backdrop-filter: blur(12px); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.entry-card:hover { transform: translateY(-4px); border-color: rgba(213,231,241,.88); }
.entry-card-primary, .entry-card-download { border: 2px solid rgba(141,255,77,.94); background: linear-gradient(155deg, rgba(17,39,27,.86), rgba(5,16,15,.91)); box-shadow: 0 0 12px rgba(124,255,69,.75), 0 0 52px rgba(77,255,46,.16), 0 28px 80px rgba(0,0,0,.46), inset 0 0 26px rgba(118,255,63,.055); }
.entry-card-primary::before, .entry-card-download::before { content: ""; position: absolute; left: 8%; right: 8%; top: -2px; height: 2px; background: linear-gradient(90deg, transparent, #c5ff93, transparent); box-shadow: 0 0 18px #7cff45; }
.entry-icon { width: 86px; height: 86px; display: grid; place-items: center; color: #aaa5ff; filter: drop-shadow(0 0 11px rgba(126,112,255,.75)); }
.entry-icon svg { width: 78px; height: 78px; stroke: currentColor; stroke-width: 3; }
.entry-icon-web { color: #87ff86; filter: drop-shadow(0 0 12px rgba(102,255,110,.78)); }
.entry-card-download .entry-icon-mobile, .entry-card-download .entry-icon-desktop { color: #87ff86; filter: drop-shadow(0 0 12px rgba(102,255,110,.78)); }
.entry-card h2 { margin: 14px 0 7px; font-size: 27px; line-height: 1.2; letter-spacing: .01em; text-shadow: 0 3px 15px #000; }
.entry-card > p { margin: 0; color: var(--entry-muted); font-size: 15px; line-height: 1.7; }
.entry-action { width: 100%; height: 54px; margin-top: 27px; border: 1px solid rgba(210,224,235,.74); border-radius: 18px; color: #fff; background: rgba(4,10,13,.32); font: inherit; font-size: 18px; font-weight: 720; cursor: pointer; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.entry-action:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.entry-action-primary { display: flex; align-items: center; justify-content: center; gap: 22px; border-color: #8cff4d; color: #061004; background: linear-gradient(90deg, #8cff38, #72f64b); box-shadow: 0 9px 28px rgba(95,255,48,.28); }
.entry-action-primary:hover { border-color: #caffaa; background: linear-gradient(90deg, #a0ff5b, #82ff55); box-shadow: 0 10px 36px rgba(95,255,48,.4); }
.entry-action-primary b { font-size: 25px; font-weight: 520; transition: transform .2s ease; }
.entry-action-primary:hover b { transform: translateX(4px); }
.entry-card small { margin-top: 16px; color: #979fa7; font-size: 13px; letter-spacing: .03em; }
.entry-card-primary small, .entry-card-download > small { color: #9eb39e; }
.entry-footer { min-height: 88px; padding: 12px 0 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #b5bac0; font-size: 14px; text-align: center; text-shadow: 0 3px 14px #000; }
.entry-capabilities { letter-spacing: .32em; }
.entry-company { color: rgba(220,225,226,.76); font-size: 13px; font-weight: 500; letter-spacing: .09em; }
.entry-toast { position: fixed; left: 50%; top: 28px; z-index: 2147483647; max-width: min(90vw, 520px); transform: translate(-50%, -18px); opacity: 0; padding: 13px 18px; border: 1px solid rgba(124,255,69,.42); border-radius: 12px; color: #edf7eb; background: rgba(10,19,16,.96); box-shadow: 0 18px 60px rgba(0,0,0,.5), 0 0 25px rgba(124,255,69,.1); font-size: 14px; text-align: center; pointer-events: none; transition: .24s ease; }
.entry-toast.is-visible { transform: translate(-50%, 0); opacity: 1; }
.entry-download-layer, .entry-contact-layer { position: fixed; inset: 0; z-index: 2147483500; display: grid; place-items: center; padding: 24px; }
.entry-download-layer[hidden], .entry-contact-layer[hidden] { display: none; }
.entry-download-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(0,4,5,.78); backdrop-filter: blur(10px); cursor: default; }
.entry-download-dialog { position: relative; width: min(680px, 100%); padding: 30px; border: 2px solid rgba(141,255,77,.94); border-radius: 22px; color: #f7f8f7; background: linear-gradient(155deg, rgba(17,39,27,.98), rgba(5,14,15,.99)); box-shadow: 0 0 14px rgba(124,255,69,.78), 0 0 70px rgba(77,255,46,.19), 0 34px 100px rgba(0,0,0,.72), inset 0 0 30px rgba(118,255,63,.055); }
.entry-download-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.entry-download-dialog header p { margin: 0 0 7px; color: var(--entry-green); font-size: 11px; font-weight: 800; letter-spacing: .28em; }
.entry-download-dialog header h2 { margin: 0; font-size: 28px; }
.entry-download-close { width: 38px; height: 38px; border: 1px solid rgba(210,224,235,.48); border-radius: 11px; color: #fff; background: rgba(255,255,255,.035); font: 28px/1 system-ui,sans-serif; cursor: pointer; }
.entry-download-close:hover { border-color: var(--entry-green); color: var(--entry-green); }
.entry-download-options { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 26px; }
.entry-download-option { min-height: 210px; padding: 24px 20px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid rgba(188,207,219,.48); border-radius: 18px; color: #f5f7f5; background: rgba(3,10,11,.68); text-align: left; font: inherit; cursor: pointer; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.entry-download-option.is-ready:hover, .entry-download-option.is-ready:focus-visible { transform: translateY(-3px); border-color: #8cff4d; background: rgba(20,46,29,.82); box-shadow: 0 0 26px rgba(124,255,69,.22); outline: none; }
.entry-download-option.is-unavailable { cursor: not-allowed; opacity: .62; }
.entry-platform-icon { width: 49px; height: 49px; display: grid; place-items: center; border: 1px solid rgba(139,255,89,.62); border-radius: 14px; color: #8cff66; background: rgba(124,255,69,.09); font-size: 23px; font-weight: 800; box-shadow: 0 0 20px rgba(124,255,69,.12); }
.entry-platform-apple { color: #b8adff; border-color: rgba(169,151,255,.62); background: rgba(143,119,255,.09); }
.entry-download-option strong { margin-top: 17px; font-size: 22px; }
.entry-download-option small { margin-top: 7px; color: #aeb5bc; font-size: 13px; }
.entry-download-option em { margin-top: auto; color: var(--entry-green); font-size: 14px; font-style: normal; font-weight: 720; }
.entry-download-option.is-unavailable em { color: #9ba2a9; }
.entry-download-note { margin: 20px 0 0; color: #969ea5; font-size: 12px; text-align: center; }
.entry-contact-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(0,4,5,.78); backdrop-filter: blur(10px); cursor: default; }
.entry-contact-dialog { position: relative; width: min(480px, 100%); padding: 18px; border: 1px solid rgba(188,207,219,.24); border-radius: 18px; color: #f7f8f7; background: #10151b; box-shadow: 0 28px 90px rgba(0,0,0,.72), 0 0 34px rgba(124,255,69,.08); }
.entry-contact-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.entry-contact-dialog header h2 { margin: 0; font-size: 21px; }
.entry-contact-close { width: 36px; height: 36px; border: 0; color: #aab1b9; background: transparent; font: 28px/1 system-ui,sans-serif; cursor: pointer; }
.entry-contact-close:hover { color: #fff; }
.entry-contact-status { margin: 34px 0; color: #aeb5bc; text-align: center; }
.entry-contact-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.entry-contact-options[hidden] { display: none; }
.entry-contact-options figure { margin: 0; padding: 14px 12px 10px; border-radius: 13px; background: #fff; text-align: center; }
.entry-contact-options figure[hidden] { display: none; }
.entry-contact-options img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.entry-contact-options figcaption { margin-top: 10px; color: #8b8c8c; font-size: 14px; }
@media (max-height: 820px) and (min-width: 901px) {
  .entry-header { min-height: 72px; } .entry-brand-mark { width: 45px; height: 45px; } .entry-brand strong { font-size: 27px; } .entry-main { padding: 12px 0; } .entry-hero { margin-bottom: 24px; } .entry-kicker { margin-bottom: 13px; } .entry-subtitle { margin-top: 10px; } .entry-card { min-height: 300px; padding-top: 25px; } .entry-icon { width: 65px; height: 65px; } .entry-icon svg { width: 60px; height: 60px; } .entry-card h2 { margin-top: 9px; } .entry-action { margin-top: 18px; height: 48px; } .entry-card small { margin-top: 10px; } .entry-footer { min-height: 66px; padding-top: 8px; padding-bottom: 10px; gap: 6px; }
}
@media (max-width: 900px) {
  html.solmgx-entry-open, html.solmgx-entry-open body { overflow: auto !important; } .entry-backdrop { background-position: 50% top; } .entry-shell { width: min(100% - 34px, 680px); } .entry-header { min-height: 78px; } .entry-brand-mark { width: 44px; height: 44px; } .entry-brand strong { font-size: 25px; } .entry-nav { gap: 13px; } .entry-nav button { font-size: 13px; } .entry-main { justify-content: flex-start; padding: 42px 0 26px; } .entry-hero { margin-bottom: 30px; } .entry-kicker { font-size: 10px; letter-spacing: .23em; } .entry-grid { grid-template-columns: 1fr; } .entry-card { min-height: 315px; }
}
@media (max-width: 520px) {
  .entry-shell { width: min(100% - 24px, 480px); } .entry-main { padding-top: 30px; } .entry-hero h1 { font-size: 36px; letter-spacing: 0; } .entry-subtitle { font-size: 15px; } .entry-card { padding: 30px 22px 22px; } .entry-footer { font-size: 11px; } .entry-capabilities { letter-spacing: .12em; } .entry-company { font-size: 11px; letter-spacing: .05em; } .entry-download-layer, .entry-contact-layer { padding: 14px; } .entry-download-dialog { padding: 22px 18px; } .entry-download-dialog header h2 { font-size: 24px; } .entry-download-options { grid-template-columns: 1fr; } .entry-download-option { min-height: 168px; } .entry-contact-options { grid-template-columns: 1fr; } .entry-contact-options img { max-width: 220px; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) { .entry-card, .entry-action, .entry-action-primary b, .entry-toast, .entry-download-option { transition: none; } }
