.account-v2-shell{width:100%}.gj-account-open{overflow:hidden}.gj-account-portal{position:fixed;z-index:9000;inset:0;overflow:auto;background:rgba(15,34,30,.58);padding:clamp(10px,3vw,36px);backdrop-filter:blur(7px)}.gj-account-panel{position:relative;width:min(1120px,100%);min-height:min(760px,calc(100vh - 72px));margin:0 auto;border:1px solid rgba(117,91,57,.2);border-radius:28px;background:#f7f2e8;box-shadow:0 32px 100px rgba(8,24,21,.34);overflow:hidden}.gj-account-page{padding:clamp(24px,5vw,60px)}.gj-account-close{position:sticky;z-index:2;top:14px;float:right;width:44px;height:44px;margin:14px;border:1px solid rgba(48,74,67,.18);border-radius:50%;background:#fffdf7;color:#244c42;font-size:28px;line-height:1;cursor:pointer}.community-loading{padding:90px 20px;text-align:center;color:#5e6c67}.account-v2-heading{align-items:center}.account-security-badge{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid rgba(34,87,75,.18);border-radius:16px;background:rgba(255,255,255,.58);color:#1b5146}.account-security-badge>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#194b41;color:#f8ecd3}.account-security-badge small{line-height:1.45}.account-v2-card{border:1px solid rgba(117,91,57,.18);border-radius:24px;background:rgba(255,253,247,.88);box-shadow:0 18px 50px rgba(55,47,34,.08);padding:clamp(24px,4vw,42px)}.auth-main-card,.compact-card,.verification-card{max-width:620px;margin:28px auto 0}.auth-main-card form,.compact-card form,.verification-card form,.profile-settings-card form,.password-card form{display:grid;gap:17px}.account-v2-card label{display:grid;gap:8px;color:#334942;font-size:14px;font-weight:650}.account-v2-card label span{display:flex;align-items:center;justify-content:space-between}.account-v2-card label i{color:#a0774e;font-size:12px;font-style:normal;font-weight:500}.account-v2-card input{box-sizing:border-box;width:100%;border:1px solid rgba(48,74,67,.2);border-radius:13px;background:#fff;color:#203d35;font:inherit;font-size:16px;outline:none;padding:13px 15px;transition:border-color 160ms ease,box-shadow 160ms ease}.account-v2-card input:focus{border-color:#28695a;box-shadow:0 0 0 4px rgba(40,105,90,.1)}.field-hint,.auth-consent,.security-copy{margin:-8px 0 0;color:#777168;font-size:12px;line-height:1.6}.wide-button{width:100%;min-height:48px;justify-content:center}.forgot-link{justify-self:center;color:#396c60}.verification-card{text-align:center}.verification-symbol{display:grid;width:72px;height:72px;margin:0 auto 16px;place-items:center;border-radius:50%;background:#194b41;box-shadow:0 0 0 10px rgba(25,75,65,.08);color:#f4dfb7;font-family:serif;font-size:30px}.verification-card h2{margin:8px 0}.verification-card>p{max-width:480px;margin:0 auto 24px;color:#6c6a63;line-height:1.7}.code-label input{text-align:center;font-size:28px;font-weight:750;letter-spacing:.35em}.resend-button{justify-self:center}.account-profile-hero{margin-top:28px}.account-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.account-summary-grid article{display:grid;gap:7px;border:1px solid rgba(117,91,57,.14);border-radius:18px;background:rgba(255,253,247,.72);padding:22px}.account-summary-grid small{color:#7b756b}.account-summary-grid strong{color:#204f44;font-size:26px}.account-summary-grid strong i{margin-left:3px;color:#8d877c;font-size:13px;font-style:normal}.verified-text{font-size:18px!important}.account-management-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-top:18px}.account-management-grid h2{margin:4px 0 24px}.account-v2-card fieldset{margin:0;border:0;padding:0}.account-v2-card legend{margin-bottom:10px;color:#334942;font-size:14px;font-weight:650}.gj-modal-backdrop{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:rgba(15,34,30,.54);padding:20px;backdrop-filter:blur(5px);animation:gj-fade-in 160ms ease-out}.gj-modal{width:min(420px,100%);border:1px solid rgba(112,88,57,.2);border-radius:24px;background:#fffdf7;box-shadow:0 28px 90px rgba(8,24,21,.28);padding:34px;text-align:center;animation:gj-rise 180ms ease-out}.gj-modal-mark{display:grid;width:58px;height:58px;margin:0 auto 14px;place-items:center;border-radius:50%;background:#1b5a4d;color:white;font-size:28px}.gj-modal.error .gj-modal-mark{background:#a85545}.gj-modal small{color:#9a744f;letter-spacing:.14em}.gj-modal h2{margin:8px 0;color:#203c35}.gj-modal p{margin:0 0 24px;color:#6d6960;line-height:1.7}.gj-modal button{width:100%;justify-content:center}@keyframes gj-fade-in{from{opacity:0}}@keyframes gj-rise{from{opacity:0;transform:translateY(12px) scale(.98)}}@media(max-width:760px){.gj-account-portal{padding:0}.gj-account-panel{min-height:100vh;border:0;border-radius:0}.gj-account-page{padding:18px 14px 36px}.gj-account-close{top:6px;margin:8px}.account-v2-heading{align-items:flex-start}.account-security-badge{margin-top:12px}.account-summary-grid,.account-management-grid{grid-template-columns:1fr}.account-v2-card{border-radius:18px;padding:22px 18px}.account-profile-hero{align-items:flex-start}.code-label input{font-size:23px}}@media(prefers-reduced-motion:reduce){.gj-modal-backdrop,.gj-modal{animation:none}}

.gj-join-prompt{position:fixed;z-index:8500;right:22px;bottom:22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;width:min(430px,calc(100vw - 28px));border:1px solid rgba(117,91,57,.25);border-radius:22px;background:#fffdf7;box-shadow:0 22px 70px rgba(10,35,29,.25);padding:20px;color:#24473e;animation:gj-rise 220ms ease-out}.gj-join-dismiss{position:absolute;top:7px;right:9px;border:0;background:transparent;color:#7a766d;font-size:24px;cursor:pointer}.gj-join-seal{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;background:#194b41;color:#f2dfb9;font-family:serif;font-size:23px}.gj-join-prompt small{color:#9a744f;letter-spacing:.08em}.gj-join-prompt strong{display:block;margin-top:4px;font-size:18px}.gj-join-prompt p{margin:7px 0 0;color:#6d6a63;font-size:13px;line-height:1.55}.gj-join-action{grid-column:1/-1;width:100%;justify-content:center}.gj-comments{margin-top:34px;border-top:1px solid rgba(117,91,57,.18);padding-top:30px}.gj-comments-heading{display:flex;align-items:flex-start;gap:14px}.gj-comments-heading h3{margin:3px 0;color:#24473e;font-size:22px}.gj-comments-heading small{color:#9a744f;letter-spacing:.08em}.gj-comments-heading p{margin:5px 0 0;color:#747068;font-size:13px;line-height:1.6}.gj-comments form{display:grid;gap:10px;margin:22px 0;border:1px solid rgba(52,91,80,.16);border-radius:18px;background:rgba(255,253,247,.76);padding:18px}.gj-comments form label{display:grid;gap:9px}.gj-comments form label>span{color:#355c51;font-size:13px;font-weight:700}.gj-comments textarea{box-sizing:border-box;width:100%;resize:vertical;border:1px solid rgba(48,74,67,.2);border-radius:13px;background:white;color:#263f38;font:inherit;font-size:15px;line-height:1.65;outline:none;padding:13px}.gj-comments textarea:focus{border-color:#28695a;box-shadow:0 0 0 4px rgba(40,105,90,.1)}.gj-comments form>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.gj-comment-feedback{color:#7b6c58}.gj-comments-join{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0;border-radius:18px;background:#e9efe8;padding:18px}.gj-comments-join p{margin:0;color:#52645e;line-height:1.65}.gj-comment-list{display:grid;gap:12px}.gj-comment{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;border:1px solid rgba(117,91,57,.14);border-radius:16px;background:rgba(255,255,255,.6);padding:15px}.gj-comment-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#254f44;color:#f2dfb9;font-family:serif;font-size:18px}.gj-comment header{display:flex;align-items:center;justify-content:space-between;gap:12px}.gj-comment header strong{color:#2e554a}.gj-comment time{color:#928b7f;font-size:12px}.gj-comment p{margin:7px 0 0;color:#4f514d;line-height:1.7;white-space:pre-wrap;word-break:break-word}.gj-comment [data-delete-comment]{margin-top:7px;border:0;background:transparent;color:#9a6659;font-size:12px;cursor:pointer;padding:0}.gj-comment-empty{padding:28px;text-align:center;color:#777168}.gj-comment-empty>span{display:grid;width:42px;height:42px;margin:0 auto 10px;place-items:center;border-radius:50%;background:#e7eee8;color:#315d51}.gj-comment-empty strong{display:block;color:#38584f}.gj-comment-empty p,.gj-comment-error,.gj-comment-loading{color:#7b776f;font-size:13px;line-height:1.6}.gj-comment-error{color:#9a574d}@media(max-width:760px){.gj-join-prompt{right:14px;bottom:14px}.gj-comments-join,.gj-comments form>div{align-items:stretch;flex-direction:column}.gj-comments-join button,.gj-comments form>div button{width:100%;justify-content:center}.gj-comment header{align-items:flex-start;flex-direction:column;gap:2px}}

.gj-cultivation-chip{display:inline-flex;width:max-content;margin-top:7px;border:1px solid rgba(169,119,72,.25);border-radius:999px;background:#f4e7d1;color:#875e38;font-size:12px;font-weight:700;padding:5px 10px}.gj-cultivation-status{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;border:1px solid rgba(117,91,57,.16);border-radius:16px;background:#f4f0e7;padding:15px}.gj-cultivation-status.verified{border-color:rgba(169,119,72,.28);background:#f7ead5}.gj-cultivation-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#68736d;color:white;font-size:18px;font-weight:800}.gj-cultivation-status.verified .gj-cultivation-mark{background:#986c40;color:#fff4df}.gj-cultivation-status small{display:block;color:#8b7661;letter-spacing:.06em}.gj-cultivation-status strong{display:block;margin-top:3px;color:#3d554d}.gj-cultivation-status p{margin:4px 0 0;color:#777168;font-size:12px;line-height:1.55}.gj-role-badge,.gj-level-badge{display:inline-flex;margin-left:6px;border-radius:999px;font-size:10px;font-style:normal;font-weight:700;line-height:1;padding:4px 7px;vertical-align:middle}.gj-role-badge{background:#7f3e35;color:#fff5e9}.gj-level-badge{background:#eee1cb;color:#815e3e}.gj-account-contact{display:block;margin:24px auto 0;color:#49685f;font-size:13px;text-align:center;text-decoration:none}.gj-account-contact:hover{text-decoration:underline}.gj-site-tools{position:fixed;z-index:8000;top:14px;left:270px;display:flex;align-items:center}.gj-site-tools button{display:inline-flex;min-height:42px;align-items:center;gap:7px;border:1px solid rgba(117,91,57,.22);border-radius:999px;background:rgba(255,253,247,.94);box-shadow:0 10px 32px rgba(13,42,35,.15);color:#31584d;font:inherit;font-size:12px;padding:0 14px;cursor:pointer;backdrop-filter:blur(6px)}.gj-site-tools button.active{border-color:#3b6e60;background:#315f53;color:#fff7e9}.gj-site-tools span{font-family:serif;font-size:16px}.gj-contact-cloud{position:fixed;z-index:8100;right:20px;bottom:20px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;width:218px;min-height:68px;border:1px solid rgba(112,128,120,.2);border-radius:44% 56% 48% 52%/56% 45% 55% 44%;background:rgba(255,255,255,.94);box-shadow:0 15px 45px rgba(13,42,35,.18);color:#31584d;text-decoration:none;padding:12px 18px;backdrop-filter:blur(8px)}.gj-contact-cloud:before,.gj-contact-cloud:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(112,128,120,.15);border-radius:50%;background:rgba(255,255,255,.94)}.gj-contact-cloud:before{width:58px;height:58px;top:-19px;left:46px}.gj-contact-cloud:after{width:72px;height:72px;top:-26px;right:30px}.gj-contact-cloud>span{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#315f53;color:#f5e7ca;font-family:serif;font-size:18px}.gj-contact-cloud strong{font-size:13px}.gj-contact-cloud small{overflow:hidden;color:#6d756f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.gj-join-prompt{bottom:116px}@media(max-width:1100px) and (min-width:761px){.gj-site-tools{left:226px}}@media(max-width:760px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}.gj-account-panel,.gj-account-page,.account-v2-shell{max-width:100vw}.lesson-drawer{width:100vw!important;max-width:100vw!important}.lesson-drawer .drawer-body{padding-left:18px!important;padding-right:18px!important}.lesson-drawer footer{padding-bottom:max(18px,env(safe-area-inset-bottom))!important}.gj-comments textarea,.account-v2-card input{font-size:16px}.gj-site-tools{top:8px;left:10px;max-width:calc(100vw - 20px)}.gj-site-tools button{min-width:44px;min-height:44px;padding:0 11px}.gj-contact-cloud{right:10px;bottom:calc(78px + env(safe-area-inset-bottom));width:155px;min-height:56px;padding:9px 12px}.gj-contact-cloud:before{width:44px;height:44px;top:-13px;left:32px}.gj-contact-cloud:after{width:54px;height:54px;top:-18px;right:21px}.gj-contact-cloud>span{width:34px;height:34px}.gj-contact-cloud small{font-size:9px}.gj-join-prompt{bottom:calc(154px + env(safe-area-inset-bottom));max-height:calc(100vh - 180px);overflow:auto}.gj-comment{grid-template-columns:38px minmax(0,1fr);padding:13px}.gj-comment-avatar{width:38px;height:38px}.gj-role-badge,.gj-level-badge{margin:4px 4px 0 0}}@media(max-width:380px){.gj-site-tools button{font-size:11px}.gj-account-page{padding-left:10px;padding-right:10px}}

.gj-cultivation-road{border:1px solid rgba(117,91,57,.15);border-radius:14px;background:rgba(255,255,255,.5);padding:0 14px}.gj-cultivation-road summary{color:#5c665f;font-size:13px;font-weight:700;cursor:pointer;padding:13px 0}.gj-cultivation-road ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 14px;padding:0;list-style:none}.gj-cultivation-road li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:1px 8px;border-radius:10px;background:#f1eee7;padding:9px;color:#777168}.gj-cultivation-road li>span{grid-row:1/3;align-self:center;color:#a28e75;font-size:12px}.gj-cultivation-road li strong{color:#59635d;font-size:12px}.gj-cultivation-road li small{font-size:10px}.gj-cultivation-road li.passed{background:#e7efe8}.gj-cultivation-road li.current{background:#f1dec0;box-shadow:inset 0 0 0 1px rgba(152,108,64,.22)}@media(max-width:480px){.gj-cultivation-road ol{grid-template-columns:1fr}}

/* Minimal official contact cloud */
.gj-contact-cloud{
  position:fixed;
  z-index:8100;
  right:20px;
  bottom:20px;
  display:block;
  width:86px;
  min-height:60px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#31584d;
  padding:0;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.gj-contact-cloud:before,
.gj-contact-cloud:after{
  content:none;
}
.gj-contact-cloudmark{
  position:absolute;
  right:0;
  bottom:0;
  display:grid;
  width:86px;
  height:60px;
  place-items:center;
  background:
    radial-gradient(circle at 23% 62%,#faf5e9 0 21%,transparent 22%),
    radial-gradient(circle at 45% 43%,#faf5e9 0 31%,transparent 32%),
    radial-gradient(circle at 69% 58%,#faf5e9 0 25%,transparent 26%),
    radial-gradient(ellipse at 49% 72%,#faf5e9 0 47%,transparent 48%);
  filter:drop-shadow(0 1px 0 rgba(171,128,76,.52)) drop-shadow(0 9px 13px rgba(28,55,47,.17));
  transform-origin:70% 70%;
  transition:filter 180ms ease,transform 180ms ease;
}
.gj-contact-cloudmark:after{
  content:"";
  position:absolute;
  right:9px;
  bottom:9px;
  width:21px;
  height:7px;
  border-top:1px solid rgba(155,105,58,.55);
  border-radius:50%;
  transform:rotate(-8deg);
}
.gj-contact-cloudmark b{
  position:relative;
  z-index:1;
  display:grid;
  width:31px;
  height:31px;
  margin-top:7px;
  place-items:center;
  border:1px solid rgba(139,73,62,.55);
  border-radius:50%;
  background:rgba(255,253,247,.6);
  color:#884a3f;
  font-family:"STKaiti","KaiTi","Songti SC",serif;
  font-size:17px;
  font-weight:600;
  line-height:1;
}
.gj-contact-tooltip{
  position:absolute;
  right:calc(100% + 10px);
  bottom:4px;
  display:grid;
  width:max-content;
  max-width:230px;
  gap:4px;
  border:1px solid rgba(169,119,72,.25);
  border-radius:14px 14px 4px 14px;
  background:rgba(255,253,247,.97);
  box-shadow:0 12px 34px rgba(23,48,41,.16);
  opacity:0;
  padding:10px 13px;
  pointer-events:none;
  transform:translateX(7px);
  transition:opacity 160ms ease,transform 160ms ease;
  backdrop-filter:blur(8px);
}
.gj-contact-tooltip:after{
  content:"";
  position:absolute;
  right:-6px;
  bottom:14px;
  width:10px;
  height:10px;
  border-top:1px solid rgba(169,119,72,.25);
  border-right:1px solid rgba(169,119,72,.25);
  background:#fffdf7;
  transform:rotate(45deg);
}
.gj-contact-tooltip small{
  overflow:visible;
  color:#98734d;
  font-size:10px;
  letter-spacing:.12em;
  text-overflow:clip;
  white-space:nowrap;
}
.gj-contact-tooltip strong{
  color:#31584d;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
}
.gj-contact-pulse{
  position:absolute;
  right:8px;
  bottom:12px;
  z-index:2;
  width:6px;
  height:6px;
  border:2px solid #faf5e9;
  border-radius:50%;
  background:#a85a4d;
  box-shadow:0 0 0 1px rgba(139,73,62,.22);
}
.gj-contact-cloud:hover,
.gj-contact-cloud:focus-visible{
  outline:none;
  transform:none;
}
.gj-contact-cloud:hover .gj-contact-cloudmark,
.gj-contact-cloud:focus-visible .gj-contact-cloudmark{
  filter:drop-shadow(0 1px 0 rgba(171,128,76,.68)) drop-shadow(0 12px 17px rgba(28,55,47,.22));
  transform:translateY(-2px) rotate(-1deg);
}
.gj-contact-cloud:hover .gj-contact-tooltip,
.gj-contact-cloud:focus-visible .gj-contact-tooltip{
  opacity:1;
  transform:translateX(0);
}
@media(max-width:760px){
  .gj-contact-cloud{
    right:10px;
    bottom:calc(78px + env(safe-area-inset-bottom));
    width:74px;
    min-height:52px;
  }
  .gj-contact-cloudmark{
    width:74px;
    height:52px;
  }
  .gj-contact-cloudmark b{
    width:27px;
    height:27px;
    margin-top:6px;
    font-size:15px;
  }
  .gj-contact-cloudmark:after{right:7px;bottom:7px;width:18px}
  .gj-contact-pulse{right:7px;bottom:10px;width:5px;height:5px}
  .gj-contact-tooltip{right:calc(100% + 6px);bottom:2px;max-width:210px;padding:9px 11px}
  .gj-contact-tooltip strong{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .gj-contact-cloudmark,.gj-contact-tooltip{transition:none}
}

/* Draggable background-music control */
.gj-site-tools{
  gap:7px;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  will-change:left,top;
}
.gj-site-tools button{
  cursor:grab;
}
.gj-site-tools button.autoplay-blocked{
  border-color:rgba(168,90,77,.38);
  color:#8d4d42;
}
.gj-music-volume{
  box-sizing:border-box;
  display:flex;
  min-height:42px;
  align-items:center;
  gap:7px;
  border:1px solid rgba(117,91,57,.22);
  border-radius:999px;
  background:rgba(255,253,247,.94);
  box-shadow:0 10px 32px rgba(13,42,35,.12);
  color:#5d6b66;
  font-size:10px;
  padding:0 11px;
  backdrop-filter:blur(6px);
}
.gj-music-volume>span{
  font-family:inherit;
  font-size:10px;
  white-space:nowrap;
}
.gj-music-volume input{
  width:68px;
  margin:0;
  accent-color:#315f53;
  cursor:pointer;
}
.gj-music-volume output{
  min-width:27px;
  color:#8a6544;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.gj-site-tools.dragging{
  z-index:8900;
}
.gj-site-tools.dragging button{
  border-color:rgba(169,119,72,.48);
  box-shadow:0 15px 38px rgba(13,42,35,.24);
  cursor:grabbing;
}
@media(max-width:480px){
  .gj-site-tools{gap:5px}
  .gj-music-volume{min-height:44px;gap:5px;padding:0 9px}
  .gj-music-volume input{width:58px}
  .gj-music-volume output{display:none}
}

/* Mythic 3D atlas */
.atlas-page{
  perspective:1400px;
}
.atlas-heading{
  position:relative;
}
.atlas-heading:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:4px;
  left:-42px;
  width:180px;
  height:180px;
  border:1px solid rgba(181,140,86,.16);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(181,140,86,.035),0 0 0 57px rgba(21,59,52,.025);
}
.atlas-board{
  border-color:rgba(181,140,86,.28);
  box-shadow:0 28px 75px rgba(18,38,34,.14);
}
.element-stage.gj-atlas-3d,
.ziwei-stage.gj-atlas-3d,
.compass-stage.gj-atlas-3d,
.regulation-stage.gj-atlas-3d{
  --atlas-tilt-x:-2deg;
  --atlas-tilt-y:0deg;
  --atlas-light-x:50%;
  --atlas-light-y:36%;
  isolation:isolate;
  overflow:hidden;
  perspective:1050px;
  background:
    radial-gradient(circle at var(--atlas-light-x) var(--atlas-light-y),rgba(214,178,112,.2),transparent 22%),
    radial-gradient(circle at 78% 18%,rgba(111,89,155,.18),transparent 26%),
    radial-gradient(circle at 18% 78%,rgba(73,126,114,.22),transparent 31%),
    linear-gradient(145deg,#071a20 0%,#0d2b2b 48%,#17182a 100%);
  cursor:grab;
  touch-action:pan-y;
}
.element-stage.gj-atlas-3d:before,
.ziwei-stage.gj-atlas-3d:before,
.compass-stage.gj-atlas-3d:before,
.regulation-stage.gj-atlas-3d:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-20%;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,239,195,.72) 0 1px,transparent 1.7px),
    radial-gradient(circle at 68% 13%,rgba(255,239,195,.5) 0 1px,transparent 1.8px),
    radial-gradient(circle at 84% 63%,rgba(255,239,195,.6) 0 1px,transparent 1.8px),
    radial-gradient(circle at 38% 82%,rgba(255,239,195,.42) 0 1px,transparent 1.7px),
    radial-gradient(circle at 23% 53%,rgba(181,140,86,.28) 0 1.5px,transparent 2.2px);
  background-size:127px 113px,173px 149px,211px 181px,157px 137px,193px 167px;
  opacity:.62;
  transform:translate3d(0,0,-40px);
  animation:gj-atlas-stars 18s linear infinite;
  pointer-events:none;
}
.element-stage.gj-atlas-3d:after,
.ziwei-stage.gj-atlas-3d:after,
.compass-stage.gj-atlas-3d:after,
.regulation-stage.gj-atlas-3d:after{
  content:"";
  position:absolute;
  z-index:1;
  right:-12%;
  bottom:-18%;
  left:-12%;
  height:45%;
  background:
    radial-gradient(ellipse at 22% 74%,rgba(228,221,199,.16),transparent 48%),
    radial-gradient(ellipse at 68% 66%,rgba(169,188,178,.12),transparent 52%);
  filter:blur(16px);
  opacity:.82;
  transform:translate3d(0,0,35px);
  animation:gj-atlas-mist 12s ease-in-out infinite alternate;
  pointer-events:none;
}
.gj-atlas-scene{
  z-index:2;
  transform:
    rotateX(var(--atlas-tilt-x))
    rotateY(var(--atlas-tilt-y))
    translateZ(28px)
    scale(.96);
  transform-style:preserve-3d;
  transition:transform 220ms cubic-bezier(.2,.7,.2,1),filter 220ms ease;
  filter:drop-shadow(0 34px 26px rgba(0,0,0,.24));
}
.gj-atlas-3d.atlas-dragging{
  cursor:grabbing;
}
.gj-atlas-3d.atlas-dragging .gj-atlas-scene{
  transition:none;
  filter:drop-shadow(0 42px 32px rgba(0,0,0,.3));
}
.gj-atlas-3d .element-orbit{
  border-color:rgba(213,175,104,.64);
  background:
    radial-gradient(circle at center,rgba(181,140,86,.25),transparent 32%),
    repeating-conic-gradient(from 0deg,rgba(224,194,134,.16) 0 1deg,transparent 1deg 72deg);
  box-shadow:inset 0 0 58px rgba(181,140,86,.1),0 0 60px rgba(181,140,86,.12);
  transform-style:preserve-3d;
}
.gj-atlas-3d .element-orbit:before,
.gj-atlas-3d .element-orbit:after{
  border-color:rgba(220,190,133,.3);
}
.gj-atlas-3d .element-node{
  background:linear-gradient(145deg,rgba(255,252,242,.98),rgba(225,216,194,.94));
  box-shadow:0 14px 30px rgba(0,0,0,.28),inset 0 1px 0 #fff;
  transition:box-shadow 180ms ease,filter 180ms ease;
}
.gj-atlas-3d .element-node:hover,
.gj-atlas-3d .element-node:focus-visible{
  box-shadow:0 19px 40px rgba(0,0,0,.36),0 0 25px color-mix(in srgb,var(--node-color) 48%,transparent);
  filter:brightness(1.08);
  outline:2px solid rgba(255,238,198,.62);
  outline-offset:4px;
}
.gj-atlas-3d .element-center{
  border-color:rgba(224,190,124,.68);
  background:radial-gradient(circle,rgba(181,140,86,.18),rgba(4,25,27,.88));
  box-shadow:inset 0 0 38px rgba(181,140,86,.12),0 0 26px rgba(181,140,86,.13);
  color:#f5e7c7;
  transform:translateZ(18px);
  backdrop-filter:blur(5px);
}
.gj-atlas-3d .element-center small{
  color:rgba(239,227,198,.66);
}
.gj-atlas-3d .palace-grid{
  transform-style:preserve-3d;
}
.gj-atlas-3d .palace-grid>button{
  background:linear-gradient(145deg,rgba(250,247,238,.94),rgba(222,215,203,.87));
  box-shadow:0 9px 18px rgba(0,0,0,.19);
  transform:translateZ(4px);
  transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease;
}
.gj-atlas-3d .palace-grid>button:hover,
.gj-atlas-3d .palace-grid>button:focus-visible{
  box-shadow:0 18px 30px rgba(0,0,0,.3);
  outline:1px solid rgba(218,186,126,.65);
  transform:translateZ(22px) translateY(-3px);
}
.gj-atlas-3d .palace-grid>button.linked{
  background:linear-gradient(145deg,rgba(218,207,231,.96),rgba(171,150,195,.88));
}
.gj-atlas-3d .palace-grid>button.focus{
  background:linear-gradient(145deg,#665779,#372f49);
  box-shadow:0 20px 38px rgba(0,0,0,.35),0 0 24px rgba(147,128,173,.35);
  transform:translateZ(28px);
}
.gj-atlas-3d .palace-center{
  border-color:rgba(189,166,215,.55);
  background:radial-gradient(circle,rgba(147,128,173,.22),rgba(13,27,37,.9) 68%);
  box-shadow:inset 0 0 50px rgba(147,128,173,.14),0 0 30px rgba(147,128,173,.16);
  color:#f1e9f7;
  transform:translateZ(12px);
  backdrop-filter:blur(4px);
}
.gj-atlas-3d .palace-center p{
  color:rgba(235,226,242,.66);
}
.gj-atlas-3d .compass-ring{
  border-color:rgba(220,186,119,.72);
  background:
    radial-gradient(circle,rgba(82,120,106,.28) 0 28%,transparent 29%),
    repeating-conic-gradient(from -7.5deg,rgba(197,169,111,.19) 0deg 1deg,transparent 1deg 15deg);
  box-shadow:inset 0 0 70px rgba(82,120,106,.13),0 0 64px rgba(181,140,86,.13);
  transform-style:preserve-3d;
}
.gj-atlas-3d .compass-ring:before,
.gj-atlas-3d .compass-ring:after{
  border-color:rgba(143,187,169,.38);
}
.gj-atlas-3d .compass-ring>button{
  background:linear-gradient(145deg,#faf4e7,#dcd1bb);
  box-shadow:0 7px 14px rgba(0,0,0,.25);
  transition:box-shadow 180ms ease,filter 180ms ease;
}
.gj-atlas-3d .compass-ring>button:hover,
.gj-atlas-3d .compass-ring>button:focus-visible{
  box-shadow:0 13px 23px rgba(0,0,0,.36),0 0 16px rgba(199,171,113,.32);
  filter:brightness(1.1);
  outline:2px solid rgba(255,238,198,.55);
  outline-offset:2px;
}
.gj-atlas-3d .compass-cardinals span{
  color:rgba(230,215,178,.48);
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.gj-atlas-3d .compass-center{
  border-color:rgba(220,186,119,.65);
  background:radial-gradient(circle,rgba(24,64,57,.94),rgba(6,28,30,.94));
  box-shadow:inset 0 0 38px rgba(181,140,86,.14),0 0 28px rgba(181,140,86,.15);
  color:#f6e8c8;
  transform:translateZ(24px);
}
.gj-atlas-3d .compass-center small{color:rgba(236,225,196,.65)}
.gj-atlas-3d .compass-center strong{color:#d6b574}
.gj-atlas-3d .regulation-orbit{
  transform-style:preserve-3d;
}
.gj-atlas-3d .regulation-orbit:before{
  background:linear-gradient(#d4ae6e,rgba(181,140,86,.18));
  box-shadow:0 0 18px rgba(181,140,86,.25);
}
.gj-atlas-3d .regulation-orbit>button{
  border-color:rgba(210,178,116,.28);
  background:linear-gradient(145deg,rgba(250,246,235,.95),rgba(219,211,193,.9));
  box-shadow:0 12px 26px rgba(0,0,0,.21);
  transform:translateZ(4px);
}
.gj-atlas-3d .regulation-orbit>button:hover,
.gj-atlas-3d .regulation-orbit>button:focus-visible{
  border-color:rgba(222,187,120,.72);
  box-shadow:0 20px 34px rgba(0,0,0,.3);
  transform:translateX(5px) translateZ(18px);
}
.gj-atlas-3d .regulation-orbit>button.active{
  border-color:#d1aa68;
  box-shadow:0 22px 38px rgba(0,0,0,.32),0 0 26px rgba(181,140,86,.2);
  transform:translateX(9px) translateZ(26px);
}
.gj-atlas-3d .regulation-core{
  border:1px solid rgba(213,177,108,.45);
  background:linear-gradient(120deg,rgba(95,55,40,.94),rgba(34,43,43,.96));
  box-shadow:0 18px 34px rgba(0,0,0,.3);
  transform:translateZ(18px);
}
@keyframes gj-atlas-stars{
  to{transform:translate3d(-38px,24px,-40px) rotate(.4deg)}
}
@keyframes gj-atlas-mist{
  from{opacity:.54;transform:translate3d(-2%,5px,35px) scale(.96)}
  to{opacity:.86;transform:translate3d(3%,-8px,35px) scale(1.05)}
}
@media(max-width:760px){
  .atlas-heading:before{left:-70px;width:140px;height:140px}
  .element-stage.gj-atlas-3d,
  .ziwei-stage.gj-atlas-3d,
  .compass-stage.gj-atlas-3d,
  .regulation-stage.gj-atlas-3d{
    min-height:520px;
  }
  .gj-atlas-scene{
    transform:rotateX(var(--atlas-tilt-x)) rotateY(var(--atlas-tilt-y)) translateZ(18px) scale(.9);
  }
}
@media(prefers-reduced-motion:reduce){
  .gj-atlas-3d:before,.gj-atlas-3d:after{animation:none!important}
  .gj-atlas-scene{transform:none!important;transition:none!important}
}
