
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#101010}
.ambient{position:fixed;inset:0;background:radial-gradient(circle at 50% 38%,#353535,#202020 38%,#101010 72%,#080808)}
.hero{height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:1vh 1vw}
.system,.version{position:absolute;color:#888;font:11px monospace;letter-spacing:.35em;line-height:2.5}
.system{top:8vh;text-align:center}
.version{right:30px;bottom:25px;opacity:.55;font-size:9px;letter-spacing:.25em}
.system div{opacity:0}
.logo{width:min(240px,34vw);opacity:0;transform:scale(.12);filter:brightness(.4)}
.brand,.principles,.english{opacity:0;object-fit:contain}
.brand{width:min(760px,96vw);margin-top:48px}
.principles{width:min(760px,94vw);margin-top:58px}
.english{width:min(760px,90vw);margin-top:32px}
.booting .system div:nth-child(1){animation:boot .8s forwards}
.booting .system div:nth-child(2){animation:boot .8s .8s forwards}
.booting .system div:nth-child(3){animation:boot .8s 1.6s forwards}
.booting .system div:nth-child(4){animation:boot .8s 2.4s forwards}
.logo-on{animation:logo 4s forwards}
.asset-on{animation:asset 2.6s forwards}
@keyframes boot{to{opacity:.7}}
@keyframes logo{from{opacity:0;transform:scale(.12);filter:brightness(.35)}to{opacity:.95;transform:scale(1);filter:brightness(1)}}
@keyframes asset{from{opacity:0;transform:translateY(24px);filter:brightness(.35)}to{opacity:1;transform:none;filter:brightness(1)}}
@media(max-width:600px){
.version{right:12px;bottom:12px;font-size:8px}
}


.developer-panel{
position:fixed;
right:30px;
bottom:30px;
z-index:100;
width:300px;
padding:28px;
background:rgba(15,15,15,.92);
border:1px solid rgba(255,255,255,.15);
color:#bbb;
font-family:monospace;
font-size:12px;
letter-spacing:.25em;
line-height:2;
backdrop-filter:blur(12px);
}

.dev-title{
font-size:14px;
color:#fff;
margin-bottom:22px;
}

.dev-line{
margin-bottom:18px;
}

.developer-panel button{
margin-top:10px;
background:none;
border:1px solid #555;
color:#aaa;
padding:8px 20px;
font-family:monospace;
letter-spacing:.2em;
}


.developer-panel{
position:fixed;
right:24px;
bottom:24px;
z-index:100;
max-width:420px;
max-height:75vh;
overflow:auto;
padding:28px;
background:rgba(12,12,12,.94);
border:1px solid rgba(255,255,255,.15);
color:#aaa;
font-family:monospace;
font-size:11px;
letter-spacing:.18em;
line-height:1.8;
backdrop-filter:blur(14px);
}

.dev-title{
color:#fff;
font-size:14px;
margin-bottom:20px;
letter-spacing:.3em;
}

.dev-line{
margin-bottom:16px;
word-break:break-all;
}

.developer-panel button{
background:none;
border:1px solid #555;
color:#ccc;
padding:8px 18px;
font-family:monospace;
letter-spacing:.2em;
}


.developer-overlay{
position:fixed;
inset:0;
z-index:999;
display:flex;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.35);
backdrop-filter:blur(8px);
}

.developer-panel{
width:min(420px,88vw);
max-height:75vh;
overflow:auto;
padding:32px;
background:rgba(20,20,20,.72);
border:1px solid rgba(255,255,255,.18);
color:#ccc;
font-family:monospace;
font-size:11px;
letter-spacing:.2em;
line-height:1.8;
box-shadow:0 20px 60px rgba(0,0,0,.5);
}

.dev-title{
color:#fff;
font-size:14px;
margin-bottom:24px;
}

.dev-line{
margin-bottom:18px;
word-break:break-all;
}

.developer-panel button{
margin-top:12px;
background:transparent;
border:1px solid rgba(255,255,255,.35);
color:#ddd;
padding:8px 24px;
font-family:monospace;
letter-spacing:.25em;
}


/* V0.6.2 boot safety reset */
body:not(.booting) .logo,
body:not(.booting) .brand,
body:not(.booting) .principles,
body:not(.booting) .english{
    opacity:0;
    animation:none;
}


/* Adaptive boot responsive patch. */
html,body{
    min-height:100%;
}

.mimove-boot-init{
    overflow-x:hidden;
}


/* V1.0 — integrated Brand Archive portal. Frozen V6.0 visual language preserved.
   Desktop logo stack sits lower to clear the background boot text on 16:10 displays. */
:root{--home-logo-drop:clamp(30px,4.2vh,46px)}
.logo{position:relative;top:var(--home-logo-drop)}
.brand-entry-wrap{
position:relative;width:min(760px,96vw);margin-top:calc(48px + var(--home-logo-drop));
}
.brand-entry-wrap .brand{width:100%;margin-top:0;display:block}
.brand-archive-entry{
position:absolute;inset:0;z-index:8;display:block;text-decoration:none;
opacity:0;pointer-events:none;transition:opacity 1.8s ease;
}
.brand-archive-entry.archive-entry-on{opacity:1;pointer-events:auto}
.entry-glow{
position:absolute;left:50%;top:50%;width:clamp(104px,12vw,144px);height:clamp(104px,12vw,144px);
transform:translate(-50%,-50%) scale(.76);border:0;border-radius:50%;pointer-events:none;
background:radial-gradient(circle,rgba(244,244,244,.38) 0%,rgba(234,234,234,.20) 24%,rgba(220,220,220,.075) 50%,rgba(210,210,210,0) 76%);
filter:blur(7px);opacity:.20;animation:mimoveBreathingGlow 4.1s cubic-bezier(.45,0,.55,1) infinite;
}
.brand-archive-entry:hover .entry-glow,.brand-archive-entry:focus-visible .entry-glow{
opacity:.94;transform:translate(-50%,-50%) scale(1.12);filter:blur(5px) brightness(1.14)
}
.brand-archive-entry:focus-visible{outline:1px solid rgba(255,255,255,.22);outline-offset:8px;border-radius:3px}
.site-copyright{
position:absolute;z-index:8;left:max(14px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));
font:7px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.16em;
color:#888;opacity:0;pointer-events:none;transition:opacity 2.2s ease;
}
.site-copyright.copyright-on{opacity:.28}
@keyframes mimoveBreathingGlow{
0%,100%{opacity:.14;transform:translate(-50%,-50%) scale(.72);filter:blur(8px) brightness(.68)}
48%{opacity:.86;transform:translate(-50%,-50%) scale(1.10);filter:blur(5px) brightness(1.20)}
62%{opacity:.64;transform:translate(-50%,-50%) scale(1.01);filter:blur(6px) brightness(1.05)}
}
@media (min-width:601px) and (max-height:820px){
:root{--home-logo-drop:clamp(28px,4.4vh,38px)}
}
@media(max-width:600px){
:root{--home-logo-drop:clamp(10px,1.7vh,18px)}
.entry-glow{width:clamp(88px,27vw,118px);height:clamp(88px,27vw,118px)}
.site-copyright{font-size:6px;letter-spacing:.12em}
}
@media(orientation:landscape) and (max-height:520px){
:root{--home-logo-drop:clamp(7px,1.3vh,12px)}
.brand-entry-wrap{margin-top:calc(38px + var(--home-logo-drop))}
.entry-glow{width:74px;height:74px}
.site-copyright{bottom:max(5px,env(safe-area-inset-bottom));font-size:5.5px}
}
@media(prefers-reduced-motion:reduce){.entry-glow{animation:none;opacity:.45}.site-copyright{transition:none}}

/* MiMove lightweight presentation protection — casual deterrence only. */
html, body, body * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
img {
  -webkit-user-drag: none;
  user-drag: none;
}
input, textarea, select, [contenteditable="true"], [data-protect-allow] {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}


/* MiMove Module Dock V1 — independent overlay
   Does not participate in the frozen Home content layout.
*/
.module-dock{
  position:absolute;
  left:50%;
  bottom:max(22px,calc(env(safe-area-inset-bottom) + 16px));
  z-index:18;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(42px,6vw,88px);
  transform:translateX(-50%);
  opacity:0;
  pointer-events:none;
  transition:opacity 2.2s ease;
}

/* Reuse existing Home boot completion state without touching boot.js. */
.site-copyright.copyright-on + .module-dock{
  opacity:1;
  pointer-events:auto;
}

.module-node{
  position:relative;
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:rgba(255,255,255,.46);
  -webkit-tap-highlight-color:transparent;
}

.module-node-glow{
  position:absolute;
  left:50%;
  top:50%;
  width:58px;
  height:58px;
  transform:translate(-50%,-50%) scale(.72);
  border:0;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(
      circle,
      rgba(244,244,244,.34) 0%,
      rgba(234,234,234,.17) 24%,
      rgba(220,220,220,.06) 50%,
      rgba(210,210,210,0) 76%
    );
  filter:blur(7px);
  opacity:.18;
  animation:moduleNodeBreathing 4.1s cubic-bezier(.45,0,.55,1) infinite;
}

.module-node-icon{
  position:relative;
  z-index:2;
  width:36px;
  height:auto;
  display:block;
  opacity:.66;
  filter:grayscale(1) brightness(.86);
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  transition:opacity .3s ease,filter .3s ease;
}

.module-node-label{
  position:absolute;
  z-index:3;
  left:50%;
  top:calc(50% + 28px);
  transform:translate(-50%,2px);
  font:8px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.18em;
  line-height:1;
  color:rgba(255,255,255,.42);
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease,transform .28s ease;
}

.module-node:hover .module-node-glow,
.module-node:focus-visible .module-node-glow{
  opacity:.88;
  filter:blur(5px) brightness(1.12);
}

.module-node:hover .module-node-icon,
.module-node:focus-visible .module-node-icon{
  opacity:.9;
  filter:grayscale(1) brightness(1);
}

.module-node:hover .module-node-label,
.module-node:focus-visible .module-node-label{
  opacity:1;
  transform:translate(-50%,6px);
}

.module-node:focus-visible{
  outline:none;
}

@keyframes moduleNodeBreathing{
  0%,100%{
    opacity:.13;
    transform:translate(-50%,-50%) scale(.70);
    filter:blur(8px) brightness(.72);
  }
  48%{
    opacity:.72;
    transform:translate(-50%,-50%) scale(1.08);
    filter:blur(5px) brightness(1.16);
  }
  62%{
    opacity:.52;
    transform:translate(-50%,-50%) scale(.99);
    filter:blur(6px) brightness(1.04);
  }
}

@media(max-width:600px){
  .module-dock{
    bottom:calc(env(safe-area-inset-bottom) + 18px);
  }

  .module-node{
    width:58px;
    height:58px;
  }

  .module-node-glow{
    width:54px;
    height:54px;
  }

  .module-node-icon{
    width:34px;
  }

  .module-node-label{
    display:none;
  }
}

@media(orientation:landscape) and (max-height:520px){
  .module-dock{
    bottom:max(7px,env(safe-area-inset-bottom));
  }

  .module-node{
    width:48px;
    height:48px;
  }

  .module-node-glow{
    width:44px;
    height:44px;
  }

  .module-node-icon{
    width:28px;
  }

  .module-node-label{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .module-node-glow{
    animation:none;
    opacity:.4;
  }
  .module-dock{
    transition:none;
  }
}

/* Home Module Field V1 Final
   Canonical desktop composition and module-node presentation.
*/
@media (min-width:601px) {
  .content{
    transform:translateY(-2.5vh) scale(.74);
    transform-origin:center center;
  }

  .module-dock{
    bottom:clamp(14px,2vh,22px);
    gap:clamp(96px,10vw,160px);
  }

  .module-node{
    width:104px;
    height:104px;
  }

  .module-node-glow{
    width:86px;
    height:86px;
    animation-duration:4.1s;
    animation-timing-function:cubic-bezier(.45,0,.55,1);
    animation-delay:0s;
  }

  .module-node-icon{
    width:52px;
  }

  .module-node-label{
    top:calc(50% + 51px);
  }

  .module-node-brand-icon{
    opacity:.64;
    filter:grayscale(1) brightness(.92);
  }

  .module-node-r1-icon{
    opacity:.72;
    filter:grayscale(1) brightness(.92);
  }

  .module-node-brand:hover .module-node-brand-icon,
  .module-node-brand:focus-visible .module-node-brand-icon{
    opacity:.86;
    filter:grayscale(1) brightness(1);
  }

  .module-node-r1:hover .module-node-r1-icon,
  .module-node-r1:focus-visible .module-node-r1-icon{
    opacity:.92;
    filter:grayscale(1) brightness(1);
  }
}


/* MiMove.cn filing mark — quiet legal information, visually subordinate. */
.site-filing{
  position:absolute;z-index:18;right:max(14px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));
  display:flex;flex-direction:column;align-items:flex-end;gap:3px;
  font:7px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.08em;color:rgba(160,160,160,.34);white-space:nowrap;
}
.site-filing a{color:inherit;text-decoration:none;transition:color .25s ease}
.site-filing a:hover,.site-filing a:focus-visible{color:rgba(205,205,205,.62);outline:none}
.site-filing-security{color:rgba(145,145,145,.26)}
@media(max-width:600px){
  .site-filing{right:max(8px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom));font-size:6px;letter-spacing:.05em;gap:2px}
}
@media(orientation:landscape) and (max-height:520px){
  .site-filing{right:max(6px,env(safe-area-inset-right));bottom:max(4px,env(safe-area-inset-bottom));font-size:5.5px}
}

/* MiMove.cn filing placement V2 — ICP compliance: bottom center. */
.site-filing{
  position:absolute;
  z-index:24;
  left:50%;
  right:auto;
  bottom:max(5px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  align-items:center;
  text-align:center;
  gap:2px;
  font-size:9px;
  line-height:1.45;
  letter-spacing:.055em;
  color:rgba(170,170,170,.24);
  opacity:.72;
}
.site-filing-security{color:rgba(155,155,155,.18)}
@media(min-width:601px){
  .module-dock{bottom:clamp(42px,5vh,52px)}
}
@media(max-width:600px){
  .site-filing{bottom:max(4px,env(safe-area-inset-bottom));font-size:8px;letter-spacing:.04em}
  .module-dock{bottom:calc(env(safe-area-inset-bottom) + 40px)}
}
@media(orientation:landscape) and (max-height:520px){
  .site-filing{bottom:max(2px,env(safe-area-inset-bottom));font-size:7.5px}
  .module-dock{bottom:max(32px,calc(env(safe-area-inset-bottom) + 28px))}
}


/* Filing readability V3 — higher opacity for compliance review. */
.site-filing{
  color:rgba(215,215,215,.58)!important;
  opacity:1!important;
}
.site-filing a{
  color:rgba(225,225,225,.66)!important;
}
.site-filing a:hover,.site-filing a:focus-visible{
  color:rgba(245,245,245,.86)!important;
}
.site-filing-security{
  color:rgba(205,205,205,.46)!important;
}
