/* G2-2146: styles isolated to the plugin widget. */
.g2box,.g2box *{box-sizing:border-box}
.g2box{--ink:#eaf4fb;--muted:#a6bdd0;--accent:#15c9ed;--accent2:#569cff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);width:100%;margin:24px auto;max-width:1320px;line-height:1.5}
.g2box button{font:inherit;cursor:pointer}
.g2box__shell{background:linear-gradient(133deg,#0b1a30 0%,#061020 80%);border:1px solid #23405c;box-shadow:0 24px 66px rgba(0,14,38,.2);border-radius:26px;padding:clamp(20px,3.3vw,46px);display:grid;grid-template-columns:minmax(260px,.8fr) minmax(330px,1.22fr);gap:clamp(22px,3vw,44px);overflow:hidden}
.g2box__copy{display:flex;flex-direction:column;min-width:0;padding:4px 0}
.g2box__eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#70dff0;font-weight:800;display:flex;align-items:center;gap:10px}
.g2box__eyebrow:before{content:"";display:inline-block;width:22px;height:2px;background:#29d3f5}
.g2box h2{font-size:clamp(29px,3vw,46px)!important;line-height:1.12!important;color:#fff!important;letter-spacing:-.037em;margin:21px 0 13px!important;font-weight:800!important}
.g2box__intro{color:#adc1d3;font-size:clamp(14px,1.15vw,16px);margin:0 0 28px;max-width:420px}
.g2box__dim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 28px;border:1px solid #294059;border-radius:14px;padding:13px 9px;background:#10253a80}
.g2box__dim > div{text-align:center;min-width:0;position:relative}
.g2box__dim > div:not(:first-child):before{content:"";position:absolute;top:8px;bottom:8px;left:0;width:1px;background:#2a425c}
.g2box__dim strong{display:block;font-size:clamp(14px,1.5vw,20px);line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#eaf6fc}
.g2box__dim span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8ba3b9;padding-top:4px}
.g2box__featuretitle{text-transform:uppercase;color:#8098ae;letter-spacing:.14em;font-size:10px;font-weight:800;margin:0 0 12px}
.g2box__features{display:grid;gap:8px}
.g2box__feature{display:flex;gap:13px;align-items:center;min-width:0;text-align:left;width:100%;border:1px solid #26425b;background:#0e2137;color:#c4d3e2;padding:12px 14px;border-radius:12px;transition:background .2s,border-color .2s,transform .2s}
.g2box__feature:hover,.g2box__feature:focus-visible{background:#16344c;border-color:#38ccef;outline:none}
.g2box__feature[aria-current="true"]{background:linear-gradient(105deg,#0b475b,#152d47);border-color:#2abeda;box-shadow:inset 3px 0 0 #39daf0}
.g2box__step{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid #49657c;border-radius:9px;color:#8dc5dc;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.g2box__feature[aria-current="true"] .g2box__step{background:#34d9ef;border-color:#34d9ef;color:#0a2435}
.g2box__feature strong{display:block;font-weight:750;color:#e9f5ff;font-size:13px;line-height:1.45}
.g2box__feature small{display:block;color:#a0b6c8;font-size:11px;margin-top:1px}
.g2box__footnote{font-size:11px;color:#6f8a9f;margin-top:auto;padding-top:23px}
.g2box__stage{position:relative;min-width:0;min-height:595px;border-radius:21px;overflow:hidden;border:1px solid rgba(255,255,255,.34);background:radial-gradient(ellipse at 50% 41%,#eaf9ff 2%,#c9e9f6 46%,#8bb7cf 100%);isolation:isolate}
.g2box__stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#5396bb22 1px,transparent 1px),linear-gradient(90deg,#5396bb22 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(180deg,transparent 1%,black 25%,transparent 95%);pointer-events:none;z-index:0}
.g2box__halo{position:absolute;left:50%;top:50%;width:min(70%,430px);aspect-ratio:1;border:1px solid #4095ba44;border-radius:50%;transform:translate(-50%,-50%) rotateX(72deg);box-shadow:0 0 0 36px #59a2c018,0 0 0 74px #59a2c010;pointer-events:none}
.g2box model-viewer{width:100%;height:595px;display:block;position:relative;z-index:1;--poster-color:transparent;outline:none}
.g2box__topline{position:absolute;top:18px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;z-index:3}
.g2box__tag{display:flex;align-items:center;gap:6px;background:#052a43df;color:#fff;font-size:11px;font-weight:800;letter-spacing:.11em;border-radius:10px;padding:10px 12px;border:1px solid #ffffff38}
.g2box__tag i{width:7px;height:7px;border-radius:50%;background:#22d2f1;box-shadow:0 0 0 4px #1de5f333}
.g2box__rotate{background:#ffffffb6;color:#174461;font-size:11px;letter-spacing:.05em;font-weight:800;padding:9px 12px;border-radius:999px}
.g2box__tips{position:absolute;top:69px;right:17px;display:flex;align-items:center;gap:7px;color:#34617b;font-size:11px;font-weight:700;z-index:3;pointer-events:none}
.g2box__tips svg{width:18px;height:18px}
.g2box__caption{position:absolute;left:18px;right:18px;bottom:18px;background:linear-gradient(120deg,#071c30f4,#102e47ee);border:1px solid #a6e7f65c;border-radius:15px;padding:16px 17px 14px;box-shadow:0 10px 38px #061a3660;z-index:3;max-width:470px}
.g2box__caption-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.g2box__caption-count{font-size:10px;color:#68d8ed;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.g2box__caption-title{font-size:16px;font-weight:800;color:#fff;margin:0 0 3px}
.g2box__caption p{margin:0 0 12px;color:#c7d9e7;font-size:12px;line-height:1.55;min-height:18px}
.g2box__progress{height:3px;width:100%;background:#53738b73;border-radius:6px;overflow:hidden}
.g2box__progress-fill{height:100%;width:0%;background:#28def2;border-radius:6px;animation:g2-progress 5.2s linear forwards}
.g2box__caption.g2box--manual .g2box__progress-fill{width:100%;animation:none;background:#407e9b}
@keyframes g2-progress{from{width:0}to{width:100%}}
.g2box__tog{appearance:none;border:1px solid #739eb544;background:#ffffff1b;color:#d4f9ff;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:750;white-space:nowrap}
.g2box__tog:hover,.g2box__tog:focus-visible{background:#ffffff2d;outline:2px solid #53cfe0}
.g2box .g2box__hotspot{position:relative;border:2px solid #fff;border-radius:50%;height:34px;width:34px;background:#058edc;box-shadow:0 0 0 7px #18b8ee44,0 2px 20px #044b798f;color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .16s,background .16s;z-index:2}
.g2box .g2box__hotspot[aria-pressed="true"]{background:#00c4e5;transform:scale(1.16);box-shadow:0 0 0 9px #18b8ee66,0 0 25px #08a3e3}
.g2box .g2box__hotspot:not([data-visible]){opacity:0;pointer-events:none}
.g2box .g2box__hotspot:focus-visible{outline:3px solid #072c42}
.g2box__error{display:none;position:absolute;z-index:4;left:15px;right:15px;top:40%;text-align:center;color:#5f1630;background:#fff1f2;border-radius:12px;padding:15px;font-size:13px}
.g2box__stage[data-error="true"] .g2box__error{display:block}
@media(max-width:890px){.g2box__shell{grid-template-columns:1fr}.g2box__copy{max-width:none}.g2box__intro{max-width:640px}.g2box__features{grid-template-columns:repeat(2,minmax(0,1fr))}.g2box__footnote{padding-top:15px}.g2box__stage,.g2box model-viewer{min-height:540px;height:540px}}
@media(max-width:560px){.g2box{margin:10px auto}.g2box__shell{padding:13px;gap:15px;border-radius:18px}.g2box__copy{padding:8px}.g2box h2{margin:12px 0!important;font-size:30px!important}.g2box__intro{margin-bottom:18px;font-size:14px}.g2box__dim{margin-bottom:18px}.g2box__feature{padding:10px 9px;gap:8px}.g2box__step{width:26px;flex-basis:26px;height:26px;font-size:10px}.g2box__feature strong{font-size:11px}.g2box__feature small{font-size:10px;line-height:1.2}.g2box__stage,.g2box model-viewer{min-height:485px;height:485px}.g2box__caption{left:10px;right:10px;bottom:10px;padding:12px}.g2box__caption-title{font-size:14px}.g2box__caption p{font-size:11px}.g2box__rotate{display:none}.g2box__tag{padding:8px;font-size:10px}.g2box__tips{right:14px;top:60px}.g2box .g2box__hotspot{width:30px;height:30px}.g2box__footnote{font-size:10px}}
@media(prefers-reduced-motion:reduce){.g2box__progress-fill{animation:none;width:100%}.g2box__feature,.g2box__hotspot{transition:none}}
