:root {
  --shell-ink: #12342e;
  --shell-forest: #0b4a3c;
  --shell-leaf: #8de05c;
}

.system-logo { position: fixed; z-index: 220; top: max(20px, calc(env(safe-area-inset-top) + 12px)); left: clamp(18px, 3.2vw, 52px); min-width: 0; display: inline-flex; align-items: center; gap: 12px; color: white; text-decoration: none; filter: drop-shadow(0 3px 8px rgba(3,28,23,.5)); transition: transform .2s, filter .2s; }
.system-logo:hover { transform: translateY(-2px); filter: drop-shadow(0 5px 12px rgba(3,28,23,.62)); }
.system-logo-mark { position: relative; width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 50% 50% 44% 56%; transform: rotate(-8deg); }
.system-logo-mark::before, .system-logo-mark::after, .system-logo-mark i { content: ""; position: absolute; width: 14px; height: 8px; border-radius: 90% 0 90% 0; background: var(--shell-leaf); }
.system-logo-mark::before { top: -4px; left: 5px; transform: rotate(-32deg); }
.system-logo-mark::after { top: -6px; right: 5px; transform: rotate(22deg) scaleX(-1); }
.system-logo-mark i { top: -10px; left: 15px; transform: rotate(-2deg); }
.system-logo-mark b { font-size: 17px; font-weight: 700; transform: rotate(8deg); }
.system-logo-copy { width:82px; display:grid; gap:5px; line-height:1; }
.system-logo-copy strong { width:100%; display:block; font-size:17px; letter-spacing:.08em; text-align:justify; text-align-last:justify; white-space:nowrap; }
.system-logo-copy small { width:100%; display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.8); font-size:6.5px; letter-spacing:.04em; white-space:nowrap; }
.system-steward-entry { position:fixed; z-index:220; top:max(66px,calc(env(safe-area-inset-top) + 58px)); left:clamp(18px,3.2vw,52px); display:inline-flex; align-items:center; gap:9px; color:white; text-decoration:none; filter:drop-shadow(0 3px 8px rgba(3,28,23,.5)); transition:transform .2s,filter .2s; }
.system-steward-entry:hover,.system-steward-entry:focus-visible { transform:translateY(-2px); outline:2px solid rgba(141,224,92,.42); outline-offset:5px; filter:drop-shadow(0 5px 12px rgba(3,28,23,.62)); }
.system-steward-mark { position:relative; width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.72); border-radius:50% 50% 44% 56%; transform:rotate(-8deg); }
.system-steward-mark::before,.system-steward-mark::after,.system-steward-mark i { content:""; position:absolute; width:11px; height:6px; border-radius:90% 0 90% 0; background:var(--shell-leaf); }
.system-steward-mark::before { top:-4px; left:4px; transform:rotate(-32deg); }
.system-steward-mark::after { top:-5px; right:4px; transform:rotate(22deg) scaleX(-1); }
.system-steward-mark i { top:-8px; left:12px; }
.system-steward-mark b { font-family:"Songti SC",serif; font-size:14px; transform:rotate(8deg); }
.system-steward-copy { width:62px; display:grid; gap:4px; line-height:1; }
.system-steward-copy strong { width:100%; display:block; font-family:"Songti SC",serif; font-size:14px; letter-spacing:.08em; text-align:justify; text-align-last:justify; white-space:nowrap; }
.system-steward-copy small { width:100%; display:block; color:rgba(255,255,255,.72); font-size:6px; letter-spacing:.08em; text-align:justify; text-align-last:justify; white-space:nowrap; }

.system-service-backdrop { position: fixed; z-index: 214; inset: 0; background: radial-gradient(circle at calc(100% - 42px) calc(100% - 42px), rgba(141,224,92,.1), transparent 40%), rgba(2,24,20,.62); opacity: 0; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); transition: opacity .3s; }
.system-service-backdrop[hidden], .system-service-panel[hidden] { display: none; }
.system-service-backdrop.is-open { opacity: 1; }
.system-service-dock { position: fixed; z-index: 220; right: max(24px, calc(env(safe-area-inset-right) + 16px)); bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px)); width: 66px; height: 66px; }
.system-service-trigger { position: relative; z-index: 3; width: 66px; height: 66px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(18,52,46,.14); border-radius: 50%; color: #153d32; background: var(--shell-leaf); box-shadow: 0 15px 42px rgba(7,43,35,.32); cursor: pointer; transition: transform .25s, box-shadow .25s, color .25s, background .25s; }
.system-service-trigger:hover { transform: translateY(-3px) scale(1.03); background: #a3ef70; box-shadow: 0 22px 58px rgba(7,43,35,.38); }
.system-service-trigger > span { display: grid; gap: 2px; text-align: center; }
.system-service-trigger strong { font-family: "Songti SC", serif; font-size: 15px; letter-spacing: .08em; }
.system-service-trigger small { font-size: 6px; letter-spacing: .12em; opacity: .55; }
.system-service-dock.is-open .system-service-trigger { color: white; border-color: rgba(255,255,255,.3); background: var(--shell-forest); transform: rotate(-8deg); }
.system-service-panel { position: absolute; z-index: 2; right: 0; bottom: 0; width: 66px; height: 66px; overflow: visible; opacity: 0; pointer-events: none; transition: opacity .18s; }
.system-service-panel.is-open { opacity: 1; pointer-events: auto; }
.system-service-panel nav { position: relative; width: 100%; height: 100%; }
.system-service-orb { position: absolute; right: -7px; bottom: -7px; width: var(--size); height: var(--size); padding: 7px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; isolation:isolate; border:2px solid #f4cf72; border-radius:50%; color:white; background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.32),transparent 24%),linear-gradient(145deg,var(--orb-color,#176b57),var(--orb-shade,#063129)); box-shadow:0 14px 35px rgba(0,0,0,.28),0 0 0 2px rgba(123,82,13,.48),0 0 18px var(--orb-glow,rgba(244,207,114,.48)),inset 0 1px 0 rgba(255,255,255,.32); opacity:0; transform:translate(0,0) scale(.2); transition:transform .48s cubic-bezier(.2,.86,.3,1.18),opacity .24s,filter .2s,box-shadow .2s; transition-delay:0ms; cursor:pointer; text-align:center; text-decoration:none; text-shadow:0 1px 3px rgba(0,0,0,.48); }
.system-service-orb::before { content:""; position:absolute; z-index:-1; inset:-6px; border:1px solid rgba(255,218,126,.72); border-radius:inherit; box-shadow:0 0 8px rgba(255,206,99,.62),0 0 18px var(--orb-glow,rgba(255,206,99,.42)); opacity:.72; animation:systemOrbGlow 1.85s ease-in-out infinite; animation-delay:var(--delay); }
.system-service-panel.is-open .system-service-orb { opacity: 1; transform: translate(var(--x), var(--y)) scale(1); transition-delay: var(--delay); }
.system-service-orb:hover, .system-service-orb:focus-visible, .system-service-orb.is-active { color:white; border-color:#ffe7a3; filter:brightness(1.12) saturate(1.08); box-shadow:0 20px 46px rgba(0,0,0,.34),0 0 0 3px rgba(255,213,111,.36),0 0 30px var(--orb-glow,rgba(255,206,99,.58)); outline:none; }
.system-service-orb b { font-family: "Songti SC", serif; font-size: 22px; line-height: 1; }
.system-service-orb span { max-width: 68px; font-size: 10px; font-weight: 700; line-height: 1.15; white-space: nowrap; }
@keyframes systemOrbGlow { 0%,100% { opacity:.55; transform:scale(.96); } 50% { opacity:1; transform:scale(1.055); box-shadow:0 0 13px rgba(255,215,126,.92),0 0 28px var(--orb-glow,rgba(255,206,99,.65)); } }
body.system-service-open { overflow: hidden; }

.admin-frame-body { margin: 0; overflow: hidden; background: #e9eee5; }
.admin-frame { position: fixed; z-index: 1; inset: 0; width: 100%; height: 100%; border: 0; background: #e9eee5; }
.admin-frame-body .system-logo { color: var(--shell-ink); filter: drop-shadow(0 3px 8px rgba(255,255,255,.78)); }
.admin-frame-body .system-logo-mark { border-color: rgba(18,52,46,.56); }
.admin-frame-body .system-logo-copy small { color: rgba(18,52,46,.7); }
.admin-plan-entry { position: fixed; z-index: 225; top: max(21px, calc(env(safe-area-inset-top) + 13px)); right: max(20px, calc(env(safe-area-inset-right) + 14px)); min-height: 43px; padding: 0 16px; display: flex; align-items: center; border: 1px solid rgba(18,52,46,.18); border-radius: 999px; color: white; background: var(--shell-forest); box-shadow: 0 10px 28px rgba(5,42,34,.2); font: 700 12px/1 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; text-decoration: none; }

@media (max-width: 700px) {
  .system-logo { top: max(14px, calc(env(safe-area-inset-top) + 8px)); left: 14px; }
  .system-logo-mark { width: 38px; height: 38px; }
  .system-logo-copy strong { font-size: 15px; }
  .system-logo-copy small { font-size: 7px; }
  .system-steward-entry { top: max(56px, calc(env(safe-area-inset-top) + 50px)); left: 14px; }
  .admin-plan-entry { top: max(62px, calc(env(safe-area-inset-top) + 58px)); right: 12px; min-height: 38px; padding: 0 13px; font-size: 10px; }
  .system-service-dock { right: max(12px, calc(env(safe-area-inset-right) + 8px)); bottom: max(13px, calc(env(safe-area-inset-bottom) + 9px)); width: 58px; height: 58px; }
  .system-service-trigger, .system-service-panel { width: 58px; height: 58px; }
  .system-service-trigger strong { font-size: 14px; }
  .system-service-trigger small { font-size: 5px; }
  .system-service-panel.is-open .system-service-orb { transform: translate(var(--mx), var(--my)) scale(.84); }
  .system-service-orb b { font-size: 21px; }
  .system-service-orb span { font-size: 10px; }
}

@media (max-width: 390px) {
  .system-service-orb.orb-homeland { --mx: -94px !important; }
  .system-service-orb.orb-manor { --mx: -174px !important; }
  .system-service-orb.orb-city { --mx: -82px !important; }
  .system-service-orb.orb-hall { --mx: -151px !important; }
  .system-service-orb.orb-farm { --mx: -204px !important; }
  .system-service-orb.orb-ranch { --mx: -232px !important; }
  .system-service-orb.orb-pond { --mx: -246px !important; }
}

@media (max-width: 700px) and (max-height: 720px) {
  .system-service-panel.is-open .system-service-orb { transform: translate(var(--mx), var(--my)) scale(.76); }
  .system-service-orb.orb-homeland { --my: -348px !important; }
  .system-service-orb.orb-manor { --my: -300px !important; }
  .system-service-orb.orb-city { --my: -262px !important; }
  .system-service-orb.orb-hall { --my: -208px !important; }
  .system-service-orb.orb-farm { --my: -148px !important; }
  .system-service-orb.orb-ranch { --my: -86px !important; }
  .system-service-orb.orb-pond { --my: -22px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .system-logo, .system-service-backdrop, .system-service-trigger, .system-service-panel, .system-service-orb { transition-duration: .01ms !important; }
}

/* Unified two-entry brand lockup: identical geometry on every system page. */
.system-logo,
.system-steward-entry {
  left: clamp(18px, 3.2vw, 52px);
  width: 136px;
  min-height: 42px;
  display: grid;
  grid-template-columns: 42px 82px;
  align-items: center;
  gap: 12px;
}
.system-logo { top: max(20px, calc(env(safe-area-inset-top) + 12px)); }
.system-steward-entry { top: max(74px, calc(env(safe-area-inset-top) + 66px)); }
.system-logo-mark,
.system-steward-mark {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  transform: none;
}
.system-logo-mark::before,
.system-logo-mark::after,
.system-logo-mark i,
.system-steward-mark::before,
.system-steward-mark::after,
.system-steward-mark i { width: 14px; height: 8px; }
.system-steward-mark::before { top: -4px; left: 5px; }
.system-steward-mark::after { top: -6px; right: 5px; }
.system-steward-mark i { top: -10px; left: 15px; transform: rotate(-2deg); }
.system-logo-mark b,
.system-steward-mark b {
  font-family: "Songti SC", serif;
  font-size: 17px;
  font-weight: 700;
  transform: none;
}
.system-logo-copy,
.system-steward-copy { width: 82px; display: grid; gap: 5px; line-height: 1; }
.system-logo-copy strong,
.system-steward-copy strong {
  width: 100%;
  display: block;
  font-family: "Songti SC", serif;
  font-size: 17px;
  letter-spacing: .08em;
  text-align: justify;
  text-align-last: justify;
  white-space: nowrap;
}
.system-logo-copy small,
.system-steward-copy small {
  width: 100%;
  color: rgba(255,255,255,.8);
  font-size: 6.5px;
  letter-spacing: .04em;
  white-space: nowrap;
}
.system-steward-copy small { display: block; text-align: justify; text-align-last: justify; }

@media (max-width: 700px) {
  .system-logo,
  .system-steward-entry {
    left: 14px;
    width: 124px;
    min-height: 38px;
    grid-template-columns: 38px 74px;
    gap: 12px;
  }
  .system-logo { top: max(14px, calc(env(safe-area-inset-top) + 8px)); }
  .system-steward-entry { top: max(62px, calc(env(safe-area-inset-top) + 56px)); }
  .system-logo-mark,
  .system-steward-mark { width: 38px; height: 38px; }
  .system-logo-copy,
  .system-steward-copy { width: 74px; gap: 4px; }
  .system-logo-copy strong,
  .system-steward-copy strong { font-size: 15px; }
  .system-logo-copy small,
  .system-steward-copy small { font-size: 6px; }
  .system-service-panel.is-open .system-service-orb {
    transform: translate(calc(var(--mx) + 16px), calc(var(--my) - 36px)) scale(.84);
  }
}

@media (max-width: 700px) and (max-height: 720px) {
  .system-service-panel.is-open .system-service-orb {
    transform: translate(calc(var(--mx) + 16px), calc(var(--my) - 30px)) scale(.76);
  }
}

/* AZ369_BEIDOU_START — scoped to the existing seven-service navigation. */
:is(.service-backdrop,.system-service-backdrop) {
  background: radial-gradient(ellipse at 78% 48%,rgba(27,80,75,.30),transparent 65%),rgba(2,15,21,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
:is(.service-panel,.system-service-panel) {
  position: fixed; inset: auto 24px 92px auto;
  width: min(460px,calc(100vw - 40px));
  height: min(570px,calc(100dvh - 120px));
  margin: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
}
:is(.service-panel,.system-service-panel) > nav {
  position: relative; display: block; width: 100%; height: 100%;
  margin: 0; padding: 0; isolation: isolate;
}
:is(.service-panel,.system-service-panel) > nav::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M42 16 L84 10 L80 37 L40 40 Z M40 40 L25 58 L35 75 L62 88' fill='none' stroke='%23e9d59e' stroke-opacity='.55' stroke-width='.32' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  opacity: 0; transition: opacity .45s .12s;
}
:is(.service-panel,.system-service-panel).is-open > nav::before { opacity: 1; }
:is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) {
  position: absolute; left: var(--star-x); top: var(--star-y); right: auto; bottom: auto;
  width: 78px; height: 78px; padding: 6px; box-sizing: border-box;
  gap: 5px; border: 1px solid rgba(242,220,165,.86); border-radius: 50%;
  background: radial-gradient(circle at 32% 20%,rgba(255,255,255,.25),transparent 48%),linear-gradient(150deg,var(--orb-color),var(--orb-shade));
  box-shadow: 0 10px 30px rgba(0,0,0,.28),0 0 24px var(--orb-glow),inset 0 0 0 4px rgba(9,23,29,.14);
  transform: translate(-50%,-50%) scale(.6); opacity: 0;
  transition: opacity .25s,transform .38s cubic-bezier(.2,.8,.2,1),filter .2s,box-shadow .2s;
  text-decoration: none;
}
:is(.service-panel,.system-service-panel).is-open :is(.service-orb,.system-service-orb) {
  opacity: 1; transform: translate(-50%,-50%) scale(1);
  transition-delay: var(--delay,0ms);
}
:is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb)::before {
  inset: -5px; border: 1px solid rgba(242,220,165,.25);
  box-shadow: none; opacity: 1; animation: none;
}
:is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) b {
  font-size: 25px; font-weight: 600; line-height: 1;
}
:is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) span {
  font-size: 11px; font-weight: 500; line-height: 1.2; letter-spacing: .02em;
  white-space: nowrap; max-width: none;
}
:is(.service-panel,.system-service-panel) .orb-homeland { --star-x:42%; --star-y:16%; }
:is(.service-panel,.system-service-panel) .orb-manor { --star-x:84%; --star-y:10%; }
:is(.service-panel,.system-service-panel) .orb-city { --star-x:80%; --star-y:37%; }
:is(.service-panel,.system-service-panel) .orb-hall { --star-x:40%; --star-y:40%; }
:is(.service-panel,.system-service-panel) .orb-farm { --star-x:25%; --star-y:58%; }
:is(.service-panel,.system-service-panel) .orb-ranch { --star-x:35%; --star-y:75%; }
:is(.service-panel,.system-service-panel) .orb-pond { --star-x:62%; --star-y:88%; }
:is(.service-panel,.system-service-panel).is-open :is(.service-orb,.system-service-orb):hover {
  transform: translate(-50%,-50%) scale(1.07); filter: brightness(1.12);
}
:is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb):focus-visible {
  outline: 2px solid #fff5d8; outline-offset: 8px;
}
@media (max-width:700px) {
  :is(.service-panel,.system-service-panel) {
    right: max(16px,env(safe-area-inset-right));
    bottom: max(88px,calc(env(safe-area-inset-bottom) + 76px));
    width: min(380px,calc(100vw - 32px));
    height: min(520px,calc(100dvh - 122px - env(safe-area-inset-bottom)));
  }
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) { width: 64px; height: 64px; gap: 4px; }
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) b { font-size: 22px; }
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) span { font-size: 10px; }
}
/* On short landscape screens, rotate the geometry, never the labels. */
@media (max-height:500px) and (min-width:400px) {
  :is(.service-panel,.system-service-panel) { right: 88px; bottom: 16px; width: min(620px,calc(100vw - 112px)); height: calc(100dvh - 32px); }
  :is(.service-panel,.system-service-panel) > nav::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M16 58 L10 16 L37 20 L40 60 Z M40 60 L58 75 L75 65 L88 38' fill='none' stroke='%23e9d59e' stroke-opacity='.55' stroke-width='.32' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  :is(.service-panel,.system-service-panel) .orb-homeland { --star-x:16%; --star-y:58%; }
  :is(.service-panel,.system-service-panel) .orb-manor { --star-x:10%; --star-y:16%; }
  :is(.service-panel,.system-service-panel) .orb-city { --star-x:37%; --star-y:20%; }
  :is(.service-panel,.system-service-panel) .orb-hall { --star-x:40%; --star-y:60%; }
  :is(.service-panel,.system-service-panel) .orb-farm { --star-x:58%; --star-y:75%; }
  :is(.service-panel,.system-service-panel) .orb-ranch { --star-x:75%; --star-y:65%; }
  :is(.service-panel,.system-service-panel) .orb-pond { --star-x:88%; --star-y:38%; }
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) { width: 62px; height: 62px; }
}
@media (max-height:360px) and (min-width:400px) {
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) { width:48px; height:48px; gap:2px; padding:3px; }
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) b { font-size:18px; }
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) span { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.service-panel,.system-service-panel) > nav::before,
  :is(.service-panel,.system-service-panel) :is(.service-orb,.system-service-orb) { transition: none; }
}
/* AZ369_BEIDOU_END */
